diff --git a/README.md b/README.md
index 134ec1c..f29880e 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@
 
 - It parses all the records and keywords from the VPD, including large keywords
   (Keywords that begin with a `#` and are > 255 bytes in length).
-- It relies on a runtime JSON configuration (see examples/inventory.json) tocf
+- It relies on a runtime JSON configuration (see examples/inventory.json) to
   determine the D-Bus object path(s) that hold interfaces and properties
   representing the VPD for a given VPD file path.
 
@@ -38,10 +38,10 @@
 
 ## TODOs and Future Improvements
 
-1. The long-term goal is to completely do away with the build time YAML driven
-   configurations and instead reconcile the OpenPower VPD parser and the IBM VPD
-   parser applications into a single runtime JSON driven application.
-2. Add details to the README on how to configure and build the application.
-3. More JSON documentation.
-4. Support for more IBM VPD formats.
-5. VPD Write and tool documentation.
+1.  The long-term goal is to completely do away with the build time YAML driven
+    configurations and instead reconcile the OpenPower VPD parser and the IBM
+    VPD parser applications into a single runtime JSON driven application.
+2.  Add details to the README on how to configure and build the application.
+3.  More JSON documentation.
+4.  Support for more IBM VPD formats.
+5.  VPD Write and tool documentation.
diff --git a/app.cpp b/app.cpp
deleted file mode 100644
index 63290de..0000000
--- a/app.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "args.hpp"
-#include "defines.hpp"
-#include "ipz_parser.hpp"
-#include "write.hpp"
-
-#include <exception>
-#include <fstream>
-#include <iostream>
-#include <iterator>
-#include <string>
-#include <variant>
-#include <vector>
-
-int main(int argc, char** argv)
-{
-    int rc = 0;
-
-    try
-    {
-        using namespace openpower::vpd;
-        using namespace openpower::vpd::ipz::parser;
-
-        args::Args arguments = args::parse(argc, argv);
-
-        bool haveVpd = arguments.count("vpd");
-        bool doDump = arguments.count("dump");
-        bool doFru = arguments.count("fru") && arguments.count("object");
-
-        if (!haveVpd)
-        {
-            std::cerr << "VPD file required (--vpd=<filename>)\n";
-            return -1;
-        }
-
-        if (!doDump && !doFru)
-        {
-            std::cerr << "No task to perform\n\n";
-            std::cerr << "  Update FRU: --fru <type> --object <path>\n";
-            std::cerr << "              --fru <t1>,<t2> --object <p1>,<p2>\n\n";
-            std::cerr << "  Dump VPD: --dump\n\n";
-            return -1;
-        }
-
-        // Read binary VPD file
-        auto file = arguments.at("vpd")[0];
-        std::ifstream vpdFile(file, std::ios::binary);
-        Binary vpd((std::istreambuf_iterator<char>(vpdFile)),
-                   std::istreambuf_iterator<char>());
-
-        // Parse VPD
-        uint32_t vpdStartOffset = 0;
-        IpzVpdParser ipzParser(std::move(vpd), std::string{}, file,
-                               vpdStartOffset);
-        auto vpdStore = std::move(std::get<Store>(ipzParser.parse()));
-
-        if (doDump)
-        {
-            vpdStore.dump();
-        }
-
-        // Set FRU based on FRU type and object path
-        if (doFru)
-        {
-            using argList = std::vector<std::string>;
-            argList frus = std::move(arguments.at("fru"));
-            argList objects = std::move(arguments.at("object"));
-
-            if (frus.size() != objects.size())
-            {
-                std::cerr << "Unequal number of FRU types and object paths "
-                             "specified\n";
-                rc = -1;
-            }
-            else
-            {
-                // Write VPD to FRU inventory
-                for (std::size_t index = 0; index < frus.size(); ++index)
-                {
-                    inventory::write(frus[index], vpdStore, objects[index]);
-                }
-            }
-        }
-    }
-    catch (const std::exception& e)
-    {
-        std::cerr << e.what() << "\n";
-    }
-
-    return rc;
-}
diff --git a/args.cpp b/args.cpp
deleted file mode 100644
index e210b42..0000000
--- a/args.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#include "args.hpp"
-
-#include <getopt.h>
-
-#include <iostream>
-#include <sstream>
-#include <string>
-#include <utility>
-#include <vector>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace args
-{
-
-static constexpr auto shortForm = "v:f:o:dh";
-static const option longForm[] = {
-    {"vpd", required_argument, nullptr, 'v'},
-    {"fru", required_argument, nullptr, 'f'},
-    {"object", required_argument, nullptr, 'o'},
-    {"dump", no_argument, nullptr, 'd'},
-    {"help", no_argument, nullptr, 'h'},
-    {0, 0, 0, 0},
-};
-
-void usage(char** argv)
-{
-    std::cerr << "\nUsage: " << argv[0] << " args\n";
-    std::cerr << "args:\n";
-    std::cerr << "--vpd=<vpd file> pathname of file containing vpd,";
-    std::cerr << " for eg an eeprom file\n";
-    std::cerr << "--dump output contents of parsed VPD\n";
-    std::cerr << "--fru=<FRU type>, supported types:\n";
-    std::cerr << "\t"
-              << "bmc\n";
-    std::cerr << "\t"
-              << "ethernet\n";
-    std::cerr << "Specify multiple FRU types via comma-separated list\n";
-    std::cerr << "--object=<FRU object path> for eg,";
-    std::cerr << " chassis/bmc0/planar\n";
-    std::cerr << "Specify multiple object paths via comma-separated list, "
-                 "ordered as the FRU types\n";
-    std::cerr << "--help display usage\n";
-}
-
-Args parse(int argc, char** argv)
-{
-    Args args;
-    int option = 0;
-    if (1 == argc)
-    {
-        usage(argv);
-    }
-    while (-1 !=
-           (option = getopt_long(argc, argv, shortForm, longForm, nullptr)))
-    {
-        if (('h' == option) || ('?' == option))
-        {
-            usage(argv);
-        }
-        else
-        {
-            auto which = &longForm[0];
-            // Figure out which option
-            while ((which->val != option) && (which->val != 0))
-            {
-                ++which;
-            }
-            // If option needs an argument, note the argument value
-            if ((no_argument != which->has_arg) && optarg)
-            {
-                using argList = std::vector<std::string>;
-                argList values;
-                // There could be a comma-separated list
-                std::string opts(optarg);
-                std::istringstream stream(std::move(opts));
-                std::string input{};
-                while (std::getline(stream, input, ','))
-                {
-                    values.push_back(std::move(input));
-                }
-                args.emplace(which->name, std::move(values));
-            }
-            else
-            {
-                // Add options that do not have arguments to the arglist
-                args.emplace(which->name, std::vector<std::string>{});
-            }
-        }
-    }
-
-    return args;
-}
-
-} // namespace args
-} // namespace vpd
-} // namespace openpower
diff --git a/args.hpp b/args.hpp
deleted file mode 100644
index 02afc67..0000000
--- a/args.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#pragma once
-
-#include <string>
-#include <unordered_map>
-#include <vector>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace args
-{
-
-using Args = std::unordered_map<std::string, std::vector<std::string>>;
-
-/** @brief Command-line argument parser for openpower-read-vpd
- *
- *  @param[in] argc - argument count
- *  @param[in] argv - argument array
- *
- *  @returns map of argument:value
- */
-Args parse(int argc, char** argv);
-
-/** @brief Display usage of openpower-vpd-read
- *
- *  @param[in] argv - argument array
- */
-void usage(char** argv);
-
-} // namespace args
-} // namespace vpd
-} // namespace openpower
diff --git a/common_utility.cpp b/common_utility.cpp
deleted file mode 100644
index 0497d0f..0000000
--- a/common_utility.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#include "common_utility.hpp"
-
-#include "const.hpp"
-
-#include <phosphor-logging/log.hpp>
-
-#include <iostream>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace common
-{
-namespace utility
-{
-using namespace constants;
-using namespace inventory;
-using namespace phosphor::logging;
-
-std::string getService(sdbusplus::bus_t& bus, const std::string& path,
-                       const std::string& interface)
-{
-    auto mapper = bus.new_method_call(mapperDestination, mapperObjectPath,
-                                      mapperInterface, "GetObject");
-    mapper.append(path, std::vector<std::string>({interface}));
-
-    std::map<std::string, std::vector<std::string>> response;
-    try
-    {
-        auto reply = bus.call(mapper);
-        reply.read(response);
-    }
-    catch (const sdbusplus::exception_t& e)
-    {
-        log<level::ERR>("D-Bus call exception",
-                        entry("OBJPATH=%s", mapperObjectPath),
-                        entry("INTERFACE=%s", mapperInterface),
-                        entry("EXCEPTION=%s", e.what()));
-
-        throw std::runtime_error("Service name is not found");
-    }
-
-    if (response.empty())
-    {
-        throw std::runtime_error("Service name response is empty");
-    }
-
-    return response.begin()->first;
-}
-
-void callPIM(ObjectMap&& objects)
-{
-    try
-    {
-        auto bus = sdbusplus::bus::new_default();
-        auto service = getService(bus, pimPath, pimIntf);
-        auto pimMsg =
-            bus.new_method_call(service.c_str(), pimPath, pimIntf, "Notify");
-        pimMsg.append(std::move(objects));
-        auto result = bus.call(pimMsg);
-        if (result.is_method_error())
-        {
-            std::cerr << "PIM Notify() failed\n";
-        }
-    }
-    catch (const std::runtime_error& e)
-    {
-        log<level::ERR>(e.what());
-    }
-}
-
-} // namespace utility
-} // namespace common
-} // namespace vpd
-} // namespace openpower
diff --git a/common_utility.hpp b/common_utility.hpp
deleted file mode 100644
index 5a900b8..0000000
--- a/common_utility.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#pragma once
-#include "types.hpp"
-
-namespace openpower
-{
-namespace vpd
-{
-namespace common
-{
-namespace utility
-{
-
-/** @brief Api to Get d-bus service for given interface
- *  @param[in] bus - Bus object
- *  @param[in] path - object path of the service
- *  @param[in] interface - interface under the object path
- *  @return service name
- */
-std::string getService(sdbusplus::bus_t& bus, const std::string& path,
-                       const std::string& interface);
-
-/** @brief Call inventory-manager to add objects
- *
- *  @param [in] objects - Map of inventory object paths
- */
-void callPIM(inventory::ObjectMap&& objects);
-
-} // namespace utility
-} // namespace common
-} // namespace vpd
-} // namespace openpower
diff --git a/config/ibm/50001001.json b/config/ibm/50001001.json
deleted file mode 100644
index 2d11a2a..0000000
--- a/config/ibm/50001001.json
+++ /dev/null
@@ -1,4463 +0,0 @@
-{
-    "commonInterfaces": {
-        "xyz.openbmc_project.Inventory.Decorator.Asset": {
-            "PartNumber": {
-                "recordName": "VINI",
-                "keywordName": "PN"
-            },
-            "SerialNumber": {
-                "recordName": "VINI",
-                "keywordName": "SN"
-            },
-            "SparePartNumber": {
-                "recordName": "VINI",
-                "keywordName": "FN"
-            },
-            "Model": {
-                "recordName": "VINI",
-                "keywordName": "CC"
-            },
-            "BuildDate": {
-                "recordName": "VR10",
-                "keywordName": "DC",
-                "encoding": "DATE"
-            }
-        }
-    },
-    "frus": {
-        "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System backplane"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Oscillator Reference Clock"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system",
-                "inherit": false,
-                "isSystemVpd": true,
-                "copyRecords": ["VSYS"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.System": null,
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "SerialNumber": {
-                            "recordName": "VSYS",
-                            "keywordName": "SE"
-                        },
-                        "Model": {
-                            "recordName": "VSYS",
-                            "keywordName": "TM"
-                        },
-                        "SubModel": {
-                            "recordName": "VSYS",
-                            "keywordName": "BR"
-                        }
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Umts"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Chassis": {
-                        "Type": "xyz.openbmc_project.Inventory.Item.Chassis.ChassisType.RackMount"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.Global": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Chassis"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.OEM"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T18"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port (front)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12/pcie_card12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T18"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 12
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port (front)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply0",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply1",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan0",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A0"
-                    },
-                    "com.ibm.ipzvpd.VINI": {
-                        "FN": [48, 50, 89, 75, 50, 51, 55],
-                        "CC": [55, 66, 53, 71],
-                        "PN": [48, 50, 89, 75, 50, 48, 48],
-                        "DR": [70, 97, 110],
-                        "SN": [89, 83, 49, 48, 74, 80, 49, 50, 86, 48, 84, 89],
-                        "RT": [86, 73, 78, 73]
-                    },
-                    "com.ibm.ipzvpd.DINF": {
-                        "RI": [0, 5, 33, 0],
-                        "RT": [68, 73, 78, 70]
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "Model": "7B5G",
-                        "Manufacturer": "Delta",
-                        "PartNumber": "02YK200",
-                        "SparePartNumber": "02YK237",
-                        "SerialNumber": "YS10JP12V0TY"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan1",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A1"
-                    },
-                    "com.ibm.ipzvpd.VINI": {
-                        "FN": [48, 50, 89, 75, 50, 51, 55],
-                        "CC": [55, 66, 53, 71],
-                        "PN": [48, 50, 89, 75, 50, 48, 48],
-                        "DR": [70, 97, 110],
-                        "SN": [89, 83, 49, 48, 74, 80, 49, 50, 86, 48, 84, 89],
-                        "RT": [86, 73, 78, 73]
-                    },
-                    "com.ibm.ipzvpd.DINF": {
-                        "RI": [0, 5, 33, 1],
-                        "RT": [68, 73, 78, 70]
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "Model": "7B5G",
-                        "Manufacturer": "Delta",
-                        "PartNumber": "02YK200",
-                        "SparePartNumber": "02YK237",
-                        "SerialNumber": "YS10JP12V0TY"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan2",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A2"
-                    },
-                    "com.ibm.ipzvpd.VINI": {
-                        "FN": [48, 50, 89, 75, 50, 51, 55],
-                        "CC": [55, 66, 53, 71],
-                        "PN": [48, 50, 89, 75, 50, 48, 48],
-                        "DR": [70, 97, 110],
-                        "SN": [89, 83, 49, 48, 74, 80, 49, 50, 86, 48, 84, 89],
-                        "RT": [86, 73, 78, 73]
-                    },
-                    "com.ibm.ipzvpd.DINF": {
-                        "RI": [0, 5, 33, 2],
-                        "RT": [68, 73, 78, 70]
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "Model": "7B5G",
-                        "Manufacturer": "Delta",
-                        "PartNumber": "02YK200",
-                        "SparePartNumber": "02YK237",
-                        "SerialNumber": "YS10JP12V0TY"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan3",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A3"
-                    },
-                    "com.ibm.ipzvpd.VINI": {
-                        "FN": [48, 50, 89, 75, 50, 51, 55],
-                        "CC": [55, 66, 53, 71],
-                        "PN": [48, 50, 89, 75, 50, 48, 48],
-                        "DR": [70, 97, 110],
-                        "SN": [89, 83, 49, 48, 74, 80, 49, 50, 86, 48, 84, 89],
-                        "RT": [86, 73, 78, 73]
-                    },
-                    "com.ibm.ipzvpd.DINF": {
-                        "RI": [0, 5, 33, 3],
-                        "RT": [68, 73, 78, 70]
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "Model": "7B5G",
-                        "Manufacturer": "Delta",
-                        "PartNumber": "02YK200",
-                        "SparePartNumber": "02YK237",
-                        "SerialNumber": "YS10JP12V0TY"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan4",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A4"
-                    },
-                    "com.ibm.ipzvpd.VINI": {
-                        "FN": [48, 50, 89, 75, 50, 51, 55],
-                        "CC": [55, 66, 53, 71],
-                        "PN": [48, 50, 89, 75, 50, 48, 48],
-                        "DR": [70, 97, 110],
-                        "SN": [89, 83, 49, 48, 74, 80, 49, 50, 86, 48, 84, 89],
-                        "RT": [86, 73, 78, 73]
-                    },
-                    "com.ibm.ipzvpd.DINF": {
-                        "RI": [0, 5, 33, 4],
-                        "RT": [68, 73, 78, 70]
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "Model": "7B5G",
-                        "Manufacturer": "Delta",
-                        "PartNumber": "02YK200",
-                        "SparePartNumber": "02YK237",
-                        "SerialNumber": "YS10JP12V0TY"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan5",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A5"
-                    },
-                    "com.ibm.ipzvpd.VINI": {
-                        "FN": [48, 50, 89, 75, 50, 51, 55],
-                        "CC": [55, 66, 53, 71],
-                        "PN": [48, 50, 89, 75, 50, 48, 48],
-                        "DR": [70, 97, 110],
-                        "SN": [89, 83, 49, 48, 74, 80, 49, 50, 86, 48, 84, 89],
-                        "RT": [86, 73, 78, 73]
-                    },
-                    "com.ibm.ipzvpd.DINF": {
-                        "RI": [0, 5, 33, 5],
-                        "RT": [68, 73, 78, 70]
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "Model": "7B5G",
-                        "Manufacturer": "Delta",
-                        "PartNumber": "02YK200",
-                        "SparePartNumber": "02YK237",
-                        "SerialNumber": "YS10JP12V0TY"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/tod_battery",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Battery": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-E0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Time-of-day battery"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-0 P0 OP3B"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-0 P0 OP3A"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-0 P1 OP0B"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-0 P1 OP0A"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Power signal cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-1 P0 OP3A"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T6"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-1 P1 OP0B"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T7"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T8"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane signal cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T9"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane signal cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T11"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Control panel cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T12"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Fan signal cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T13"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Control panel display cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T14"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane power cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector15",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T15"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane power cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector17",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T17"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Fan signal cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector18",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T18"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port (front)"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Bmc": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "eBMC card"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z0",
-                            "encoding": "MAC"
-                        }
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "HMC port 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z1",
-                            "encoding": "MAC"
-                        }
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "HMC port 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port (rear)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/displayport0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Display Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 2.0 port (rear)"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/tpm_wilson",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Tpm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C22"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Trusted platform module card"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/7-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/base_op_panel_blyth",
-                "essentialFru": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Control panel"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/7-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/lcd_op_panel_hill",
-                "devAddress": "7-0051",
-                "driverType": "at24",
-                "busType": "i2c",
-                "presence": {
-                    "pollingRequired": true,
-                    "pin": "RUSSEL_OPPANEL_PRESENCE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
-                },
-                "preAction": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
-                },
-                "postActionFail": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 1,
-                    "gpioI2CAddress": "0-0020"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Control panel display"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C14"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Voltage regulator module for system processor module 0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C23"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Voltage regulator module for system processor module 1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
-                "cpuType": "primary",
-                "powerOffOnly": true,
-                "offset": 196608,
-                "size": 65504,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C15"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
-                "powerOffOnly": true,
-                "offset": 196608,
-                "size": 65504,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C15"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi33.0/eeprom",
-                "powerOffOnly": true,
-                "offset": 196608,
-                "size": 65504,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C24"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi43.0/eeprom",
-                "powerOffOnly": true,
-                "offset": 196608,
-                "size": 65504,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C24"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/4-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0",
-                "devAddress": "4-0050",
-                "pcaChipAddress": "4-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 4,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 0
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["2CE2", "58FF", "6B92", "6B99"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["2CE2", "58FF", "6B92", "6B99"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/5-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3",
-                "devAddress": "5-0050",
-                "pcaChipAddress": "5-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 5,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 3
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["2CE2", "58FF", "6B92", "6B99"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["2CE2", "58FF", "6B92", "6B99"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/5-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4",
-                "devAddress": "5-0051",
-                "pcaChipAddress": "5-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 5,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 4
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["2CE2", "58FF", "6B92", "6B99"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["2CE2", "58FF", "6B92", "6B99"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10",
-                "devAddress": "11-0050",
-                "pcaChipAddress": "11-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 11,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 10
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["2CE2", "58FF", "6B92", "6B99"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["2CE2", "58FF", "6B92", "6B99"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/4-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2",
-                "devAddress": "4-0052",
-                "pcaChipAddress": "4-0062",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 4,
-                        "Address": 82
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 2
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/6-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6/pcie_card6",
-                "devAddress": "6-0053",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI adapter"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/6-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7",
-                "devAddress": "6-0052",
-                "pcaChipAddress": "6-0062",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 6,
-                        "Address": 82
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 7
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/6-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9/pcie_card9",
-                "devAddress": "6-0050",
-                "pcaChipAddress": "6-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 6,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 9
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11",
-                "devAddress": "11-0051",
-                "pcaChipAddress": "11-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 11,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 11
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/4-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1",
-                "devAddress": "4-0051",
-                "pcaChipAddress": "4-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 4,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 1
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/6-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8",
-                "devAddress": "6-0051",
-                "pcaChipAddress": "6-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "preAction": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 6,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 8
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
-                "inherit": false,
-                "noprime": true,
-                "ccin": ["6B87"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Internal Connector"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 1
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 2
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 3
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 4
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane signal cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane power cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/cables/dp0_cable0",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cable": null,
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Backplane Cable"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/cables/dp0_cable1",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cable": null,
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Backplane Cable"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/14-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C10"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C10"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 5
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C11"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C11"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 6
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C12"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C12"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 7
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C13"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 7"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C13"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 8
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 7"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-T4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane signal cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-T5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane power cable port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/cables/dp1_cable0",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cable": null,
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Backplane Cable"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/cables/dp1_cable1",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cable": null,
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe Backplane Cable"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C12"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 0"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C13"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 1"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C16"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 2"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C17"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 3"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C18"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 4"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C19"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 5"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C20"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 6"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C21"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 7"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C25"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 8"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C26"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 9"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C27"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 10"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C28"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 11"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C29"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 12"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C30"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 13"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C31"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 14"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C32"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 15"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C33"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 16"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C34"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 17"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C35"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 18"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C36"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 19"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C37"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 20"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C38"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 21"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C39"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 22"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C40"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 23"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C41"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 24"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C42"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 25"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C43"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 26"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C44"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 27"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C45"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 28"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C46"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 29"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C47"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 30"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C48"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 31"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ]
-    }
-}
diff --git a/config/ibm/50003000.json b/config/ibm/50003000.json
deleted file mode 100644
index a8d71dd..0000000
--- a/config/ibm/50003000.json
+++ /dev/null
@@ -1,6702 +0,0 @@
-{
-    "commonInterfaces": {
-        "xyz.openbmc_project.Inventory.Decorator.Asset": {
-            "PartNumber": {
-                "recordName": "VINI",
-                "keywordName": "PN"
-            },
-            "SerialNumber": {
-                "recordName": "VINI",
-                "keywordName": "SN"
-            },
-            "SparePartNumber": {
-                "recordName": "VINI",
-                "keywordName": "FN"
-            },
-            "Model": {
-                "recordName": "VINI",
-                "keywordName": "CC"
-            },
-            "BuildDate": {
-                "recordName": "VR10",
-                "keywordName": "DC",
-                "encoding": "DATE"
-            }
-        }
-    },
-    "muxes": [
-        {
-            "i2bus": "4",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/4-0070/hold_idle"
-        },
-        {
-            "i2bus": "5",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/5-0070/hold_idle"
-        },
-        {
-            "i2bus": "6",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/6-0070/hold_idle"
-        }
-    ],
-    "frus": {
-        "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System backplane"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Oscillator Reference Clock"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system",
-                "inherit": false,
-                "isSystemVpd": true,
-                "copyRecords": ["VSYS"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.System": null,
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "SerialNumber": {
-                            "recordName": "VSYS",
-                            "keywordName": "SE"
-                        },
-                        "Model": {
-                            "recordName": "VSYS",
-                            "keywordName": "TM"
-                        },
-                        "SubModel": {
-                            "recordName": "VSYS",
-                            "keywordName": "BR"
-                        }
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Umts"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Chassis": {
-                        "Type": "xyz.openbmc_project.Inventory.Item.Chassis.ChassisType.RackMount"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.Global": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Chassis"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.OEM"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 2 (front)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12/pcie_card12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 12
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 2 (front)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply0",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply1",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply2",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply3",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Open CAPI Conn 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Open CAPI Conn 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Open CAPI Conn 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Open CAPI Conn 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Open CAPI Conn 4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Open CAPI Conn 5"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Bmc": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "eBMC card assembly"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/ethernet0",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z0",
-                            "encoding": "MAC"
-                        }
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "HMC port 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/ethernet1",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z1",
-                            "encoding": "MAC"
-                        }
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "HMC port 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/usb2_conn0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 1 (rear)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/usb2_conn1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 2 (rear)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/usb3_conn0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 2.0 port 1 (rear)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/usb3_conn1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 2.0 port 2 (rear)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/tod_battery",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Battery": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-E0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Time-of-day battery"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm8",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C54"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 3"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm9",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C55"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 3"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm10",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C57"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 3"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm11",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C58"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Shared voltage regulator module"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm0",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C12"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm1",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C13"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm2",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C15"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm3",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C16"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Shared voltage regulator module"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm12",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C59"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "I/O and standby voltage regulator module"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm13",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C60"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm14",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C62"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm15",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C63"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm4",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C17"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "I/O and standby voltage regulator module"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm5",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C18"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 2"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm6",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C20"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 2"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm7",
-                "readOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C21"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 2"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/tpm",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Tpm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C96"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Trusted platform module card"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C61"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C61"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi33.0/eeprom",
-                "cpuType": "primary",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C14"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi43.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C14"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi52.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi53.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C19"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi62.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi63.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C19"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi72.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi73.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C56"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi82.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi83.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C56"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/27-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme0/drive0",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C0"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 1
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme1/drive1",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 2
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme2/drive2",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 3
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme3/drive3",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 4
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme4/drive4",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 5
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme5/drive5",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 6
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme6/drive6",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 7
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 7"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme7/drive7",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 8
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 7"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 8"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme8/drive8",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 9
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 8"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 9"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme9/drive9",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 10
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 9"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/dp_connector0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 1 (front)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/dp_connector1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 2 (front)"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/28-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/panel1",
-                "devAddress": "28-0051",
-                "driverType": "at24",
-                "busType": "i2c",
-                "concurrentlyMaintainable": true,
-                "essentialFru": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Control panel display"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/29-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/panel0",
-                "devAddress": "29-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "concurrentlyMaintainable": true,
-                "essentialFru": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Control panel"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/31-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan0",
-                "devAddress": "31-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "handlePresence": false,
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Fan": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/32-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan1",
-                "devAddress": "32-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "handlePresence": false,
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Fan": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/33-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan2",
-                "devAddress": "33-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "handlePresence": false,
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Fan": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A2"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/34-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan3",
-                "devAddress": "34-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "concurrentlyMaintainable": true,
-                "handlePresence": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Fan": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A3"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/16-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "devAddress": "16-0052",
-                "pcaChipAddress": "16-0062",
-                "presence": {
-                    "pin": "expander-cable-card1",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card1",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card1",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 16,
-                        "Address": 82
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 1
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/17-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2",
-                "devAddress": "17-0050",
-                "pcaChipAddress": "17-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card2",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card2",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card2",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 17,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 2
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/18-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3",
-                "devAddress": "18-0051",
-                "pcaChipAddress": "18-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card3",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card3",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card3",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 18,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 3
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/19-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4",
-                "devAddress": "19-0050",
-                "pcaChipAddress": "19-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card4",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card4",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card4",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 19,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 4
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/20-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot5/pcie_card5",
-                "devAddress": "20-0051",
-                "pcaChipAddress": "20-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card5",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card5",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card5",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 20,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 5
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot5/pcie_card5/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot5/pcie_card5/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/21-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6/pcie_card6",
-                "devAddress": "21-0051",
-                "pcaChipAddress": "21-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card6",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card6",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card6",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 21,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 6
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/22-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7",
-                "devAddress": "22-0053",
-                "pcaChipAddress": "22-0063",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card7",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card7",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card7",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 22,
-                        "Address": 83
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 7
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/23-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8",
-                "devAddress": "23-0050",
-                "pcaChipAddress": "23-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card8",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card8",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card8",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 23,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 8
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/24-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9/pcie_card9",
-                "devAddress": "24-0052",
-                "pcaChipAddress": "24-0062",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card9",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card9",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card9",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 24,
-                        "Address": 82
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 9
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/25-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10",
-                "devAddress": "25-0053",
-                "pcaChipAddress": "25-0063",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card10",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card10",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card10",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 25,
-                        "Address": 83
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 10
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/26-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11",
-                "devAddress": "26-0051",
-                "pcaChipAddress": "26-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card11",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card11",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card11",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 26,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 11
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C22"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 0"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C23"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 1"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C24"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 2"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C25"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 3"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C26"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 4"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C27"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 5"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C28"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 6"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C29"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 7"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C30"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 8"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C31"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 9"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C32"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 10"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C33"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 11"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C34"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 12"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C35"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 13"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C36"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 14"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C37"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 15"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/500-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C38"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 16"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/501-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C39"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 17"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/510-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C40"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 18"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/512-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C41"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 19"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/515-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C42"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 20"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/513-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C43"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 21"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/511-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C44"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 22"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/514-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C45"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 23"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/616-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C46"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 24"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/611-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C47"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 25"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/615-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C48"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 26"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/617-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C49"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 27"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/614-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C50"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 28"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/610-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C51"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 29"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/602-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C52"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 30"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/603-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C53"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 31"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/816-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C64"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 32"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/811-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C65"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 33"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/815-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C66"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 34"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/817-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C67"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 35"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/814-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C68"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 36"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/810-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C69"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 37"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/802-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C70"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 38"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/803-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C71"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Module 39"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/701-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C72"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 40"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/700-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C73"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 41"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/710-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C74"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 42"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/712-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C75"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 43"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/715-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C76"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 44"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/713-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C77"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 45"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/711-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C78"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 46"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/714-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C79"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 47"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C80"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 48"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C81"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 49"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C82"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 50"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C83"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 51"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C84"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 52"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C85"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 53"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C86"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 54"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C87"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 55"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C88"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 56"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C89"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 57"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C90"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 58"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C91"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 59"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C92"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 60"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C93"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 61"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C94"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 62"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C95"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 63"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ]
-    }
-}
diff --git a/config/ibm/50003000_v2.json b/config/ibm/50003000_v2.json
deleted file mode 100644
index f6101e5..0000000
--- a/config/ibm/50003000_v2.json
+++ /dev/null
@@ -1,6686 +0,0 @@
-{
-    "commonInterfaces": {
-        "xyz.openbmc_project.Inventory.Decorator.Asset": {
-            "PartNumber": {
-                "recordName": "VINI",
-                "keywordName": "PN"
-            },
-            "SerialNumber": {
-                "recordName": "VINI",
-                "keywordName": "SN"
-            },
-            "SparePartNumber": {
-                "recordName": "VINI",
-                "keywordName": "FN"
-            },
-            "Model": {
-                "recordName": "VINI",
-                "keywordName": "CC"
-            },
-            "BuildDate": {
-                "recordName": "VR10",
-                "keywordName": "DC",
-                "encoding": "DATE"
-            }
-        }
-    },
-    "muxes": [
-        {
-            "i2bus": "4",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/4-0070/hold_idle"
-        },
-        {
-            "i2bus": "5",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/5-0070/hold_idle"
-        },
-        {
-            "i2bus": "6",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/6-0070/hold_idle"
-        }
-    ],
-    "frus": {
-        "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System backplane"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Oscillator Reference Clock"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system",
-                "inherit": false,
-                "isSystemVpd": true,
-                "copyRecords": ["VSYS"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.System": null,
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "SerialNumber": {
-                            "recordName": "VSYS",
-                            "keywordName": "SE"
-                        },
-                        "Model": {
-                            "recordName": "VSYS",
-                            "keywordName": "TM"
-                        },
-                        "SubModel": {
-                            "recordName": "VSYS",
-                            "keywordName": "BR"
-                        }
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Umts"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Chassis": {
-                        "Type": "xyz.openbmc_project.Inventory.Item.Chassis.ChassisType.RackMount"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.Global": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Chassis"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.OEM"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 2 (front)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12/pcie_card12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 12
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 2 (front)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply0",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply1",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply2",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply3",
-                "inherit": false,
-                "embedded": false,
-                "synthesized": true,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Port Conn 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Port Conn 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Port Conn 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Port Conn 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Port Conn 4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Port Conn 5"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Bmc": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "eBMC card assembly"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/ethernet0",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z0",
-                            "encoding": "MAC"
-                        }
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "HMC port 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/ethernet1",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z1",
-                            "encoding": "MAC"
-                        }
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "HMC port 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/usb2_conn0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 1 (rear)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/usb2_conn1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 2 (rear)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/usb3_conn0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 2.0 port 1 (rear)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/usb3_conn1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 2.0 port 2 (rear)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/bmc/tod_battery",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Battery": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-E0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Time-of-day battery"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm8",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C54"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 3"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm9",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C55"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 3"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm10",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C57"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 3"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm11",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C58"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Shared voltage regulator module"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C12"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C13"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm2",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C15"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm3",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C16"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Shared voltage regulator module"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm12",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C59"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "I/O and standby voltage regulator module"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm13",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C60"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm14",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C62"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm15",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C63"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm4",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C17"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "I/O and standby voltage regulator module"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm5",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C18"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 2"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm6",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C20"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor voltage regulator module for system processor module 2"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vrm7",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C21"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 2"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/tpm",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Tpm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C96"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Trusted platform module card"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C61"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C61"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi33.0/eeprom",
-                "cpuType": "primary",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C14"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi43.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C14"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi52.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi53.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C19"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi62.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi63.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C19"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm2/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi72.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi73.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C56"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu0/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi82.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1",
-                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi83.0/eeprom",
-                "offset": 196608,
-                "powerOffOnly": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C56"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "System processor module 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Quad"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "High speed SMP/OpenCAPI Link"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory Controller Channel"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Processor To Memory Buffer Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Nest Memory Management Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Accelerator"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Interface Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "POWER Accelerator Unit Controller"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCI Express controllers"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit12",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe host bridge (PHB)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit13",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OBUS End Point"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dcm3/cpu1/unit14",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Cache-Only Core"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/27-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Drive backplane"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme0/drive0",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C0"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 1
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme1/drive1",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 2
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme2/drive2",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 3
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme3/drive3",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 4
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme4/drive4",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 5
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme5/drive5",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 6
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme6/drive6",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 7
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 7"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme7/drive7",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 8
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 7"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 8"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme8/drive8",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 9
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 8"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 9"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/nvme9/drive9",
-                "inherit": false,
-                "embedded": false,
-                "devAddress": "27-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 10
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "NVMe U.2 drive 9"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/dp_connector0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 1 (front)"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/dp_connector1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port 2 (front)"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/28-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/panel1",
-                "devAddress": "28-0051",
-                "driverType": "at24",
-                "busType": "i2c",
-                "concurrentlyMaintainable": true,
-                "essentialFru": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Control panel display"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/29-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dasd_backplane/panel0",
-                "devAddress": "29-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "concurrentlyMaintainable": true,
-                "essentialFru": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Control panel"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/31-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan0",
-                "devAddress": "31-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "handlePresence": false,
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Fan": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/32-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan1",
-                "devAddress": "32-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "handlePresence": false,
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Fan": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/33-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan2",
-                "devAddress": "33-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "handlePresence": false,
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Fan": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A2"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/34-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan3",
-                "devAddress": "34-0050",
-                "driverType": "at24",
-                "busType": "i2c",
-                "handlePresence": false,
-                "concurrentlyMaintainable": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Fan": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A3"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/16-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "devAddress": "16-0052",
-                "pcaChipAddress": "16-0062",
-                "presence": {
-                    "pin": "expander-cable-card1",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card1",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card1",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 16,
-                        "Address": 82
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 1
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/17-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2",
-                "devAddress": "17-0050",
-                "pcaChipAddress": "17-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card2",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card2",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card2",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 17,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 2
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/18-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3",
-                "devAddress": "18-0051",
-                "pcaChipAddress": "18-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card3",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card3",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card3",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 18,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 3
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/19-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4",
-                "devAddress": "19-0050",
-                "pcaChipAddress": "19-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card4",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card4",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card4",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 19,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 4
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/20-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot5/pcie_card5",
-                "devAddress": "20-0051",
-                "pcaChipAddress": "20-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card5",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card5",
-                    "value": 1,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card5",
-                    "value": 0,
-                    "gpioI2CAddress": "4-0065"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 20,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 5
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot5/pcie_card5/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot5/pcie_card5/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/21-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6/pcie_card6",
-                "devAddress": "21-0051",
-                "pcaChipAddress": "21-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card6",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card6",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card6",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 21,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 6
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/22-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7",
-                "devAddress": "22-0053",
-                "pcaChipAddress": "22-0063",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card7",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card7",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card7",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 22,
-                        "Address": 83
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 7
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/23-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8",
-                "devAddress": "23-0050",
-                "pcaChipAddress": "23-0060",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card8",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card8",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card8",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 23,
-                        "Address": 80
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 8
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/24-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9/pcie_card9",
-                "devAddress": "24-0052",
-                "pcaChipAddress": "24-0062",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card9",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card9",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card9",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C9"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 24,
-                        "Address": 82
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 9
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x8 adapter"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/25-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10",
-                "devAddress": "25-0053",
-                "pcaChipAddress": "25-0063",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card10",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card10",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card10",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 25,
-                        "Address": 83
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 10
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/26-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11",
-                "devAddress": "26-0051",
-                "pcaChipAddress": "26-0061",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "expander-cable-card11",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "preAction": {
-                    "pin": "presence-cable-card11",
-                    "value": 1,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "postActionFail": {
-                    "pin": "presence-cable-card11",
-                    "value": 0,
-                    "gpioI2CAddress": "5-0066"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11"
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 26,
-                        "Address": 81
-                    },
-                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
-                        "SlotNumber": 11
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "xyz.openbmc_project.Inventory.Connector.Port": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "CXP Port"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C22"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 0"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C23"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 1"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C24"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 2"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C25"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 3"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C26"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 4"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C27"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 5"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C28"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 6"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C29"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 7"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C30"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 8"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C31"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 9"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C32"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 10"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C33"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 11"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C34"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 12"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C35"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 13"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C36"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 14"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C37"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 15"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/500-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C38"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 16"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/501-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C39"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 17"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/510-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C40"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 18"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/512-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C41"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 19"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/515-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C42"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 20"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/513-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C43"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 21"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/511-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C44"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 22"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/514-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C45"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 23"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/616-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C46"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 24"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/611-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C47"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 25"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/615-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C48"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 26"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/617-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C49"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 27"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/614-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C50"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 28"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/610-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C51"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 29"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/602-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C52"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 30"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/603-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C53"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 31"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/816-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C64"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 32"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm32/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/811-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C65"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 33"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm33/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/815-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C66"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 34"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm34/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/817-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C67"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 35"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm35/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/814-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C68"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 36"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm36/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/810-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C69"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 37"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm37/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/802-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C70"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 38"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm38/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/803-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C71"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 39"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm39/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/701-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C72"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 40"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm40/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/700-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C73"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 41"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm41/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/710-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C74"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 42"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm42/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/712-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C75"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 43"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm43/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/715-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C76"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 44"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm44/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/713-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C77"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 45"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm45/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/711-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C78"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 46"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm46/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/714-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C79"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 47"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm47/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C80"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 48"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm48/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C81"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 49"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm49/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C82"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 50"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm50/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C83"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 51"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm51/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C84"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 52"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm52/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C85"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 53"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm53/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C86"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 54"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm54/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C87"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 55"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm55/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C88"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 56"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm56/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C89"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 57"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm57/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C90"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 58"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm58/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C91"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 59"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm59/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C92"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 60"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm60/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C93"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 61"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm61/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C94"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 62"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm62/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C95"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Memory module 63"
-                    },
-                    "xyz.openbmc_project.State.Decorator.Availability": {
-                        "Available": false
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63/unit0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI Memory Buffer"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63/unit1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "DDR Memory Port"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63/unit2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Control Device"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm63/unit3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Onboard Memory Power Management IC"
-                    }
-                }
-            }
-        ]
-    }
-}
diff --git a/config/ibm/systems.json b/config/ibm/systems.json
deleted file mode 100644
index 6b66e56..0000000
--- a/config/ibm/systems.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
-    "system": {
-        "50001001": {
-            "constraint": {
-                "HW": ["0001"],
-                "json": "50001001.json"
-            },
-            "default": "50001001_v2.json"
-        },
-        "50001000": {
-            "constraint": {
-                "HW": ["0001"],
-                "json": "50001000.json"
-            },
-            "default": "50001000_v2.json"
-        },
-        "50001002": {
-            "default": "50001002.json"
-        },
-        "50003000": {
-            "constraint": {
-                "HW": ["000A", "000B", "000C", "0014"],
-                "json": "50003000.json"
-            },
-            "default": "50003000_v2.json"
-        },
-        "50004000": {
-            "default": "50004000.json"
-        },
-        "60001001": {
-            "constraint": {
-                "HW": ["0001"],
-                "json": "60001001.json"
-            },
-            "default": "60001001_v2.json"
-        },
-        "60001000": {
-            "constraint": {
-                "HW": ["0001"],
-                "json": "60001000.json"
-            },
-            "default": "60001000_v2.json"
-        },
-        "60001002": {
-            "default": "60001002.json"
-        },
-        "60002000": {
-            "constraint": {
-                "HW": ["000A", "000B", "000C", "0014"],
-                "json": "60002000.json"
-            },
-            "default": "60002000_v2.json"
-        },
-        "70001000": {
-            "default": "70001000.json"
-        }
-    }
-}
diff --git a/configuration/configuration.hpp b/configuration/configuration.hpp
new file mode 100644
index 0000000..d234a75
--- /dev/null
+++ b/configuration/configuration.hpp
@@ -0,0 +1,31 @@
+#pragma once
+
+#include "types.hpp"
+
+namespace vpd
+{
+namespace config
+{
+
+/**
+ * @brief Map of IM to HW version.
+ *
+ * The map holds HW version corresponding to a given IM value.
+ * To add a new system, just update the below map.
+ * {IM value, {Default, {HW_version, version}}}
+ */
+types::SystemTypeMap systemType{
+    {"50001001", {"50001001_v2", {{"0001", ""}}}},
+    {"50001000", {"50001000_v2", {{"0001", ""}}}},
+    {"50001002", {"50001002", {}}},
+    {"50003000",
+     {"50003000_v2", {{"000A", ""}, {"000B", ""}, {"000C", ""}, {"0014", ""}}}},
+    {"50004000", {"50004000", {}}},
+    {"60001001", {"60001001_v2", {{"0001", ""}}}},
+    {"60001000", {"60001000_v2", {{"0001", ""}}}},
+    {"60001002", {"60001002", {}}},
+    {"60002000",
+     {"60002000_v2", {{"000A", ""}, {"000B", ""}, {"000C", ""}, {"0014", ""}}}},
+    {"60004000", {"60004000", {}}}};
+} // namespace config
+} // namespace vpd
diff --git a/config/ibm/50001000.json b/configuration/ibm/50001000.json
similarity index 62%
rename from config/ibm/50001000.json
rename to configuration/ibm/50001000.json
index 677394c..8dbee4d 100644
--- a/config/ibm/50001000.json
+++ b/configuration/ibm/50001000.json
@@ -1,4 +1,6 @@
 {
+    "devTree": "conf-aspeed-bmc-ibm-rainier-4u-p1.dtb",
+    "backupRestoreConfigPath": "/usr/share/vpd/backup_restore_50001000.json",
     "commonInterfaces": {
         "xyz.openbmc_project.Inventory.Decorator.Asset": {
             "PartNumber": {
@@ -27,7 +29,8 @@
     "frus": {
         "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
@@ -40,7 +43,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -49,7 +53,8 @@
                 }
             },
             {
-                "inventoryPath": "/system",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "isSystemVpd": true,
                 "copyRecords": ["VSYS"],
@@ -78,7 +83,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Chassis": {
@@ -94,7 +100,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -111,7 +118,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -128,7 +136,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -145,7 +154,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -162,7 +172,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -179,7 +190,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -196,7 +208,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -213,7 +226,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -230,7 +244,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -247,7 +262,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -264,7 +280,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -281,7 +298,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -297,7 +315,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -313,7 +332,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -324,7 +344,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -335,7 +356,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -346,7 +368,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -357,7 +380,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -387,7 +411,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -417,7 +442,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -447,7 +473,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -477,7 +504,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -507,7 +535,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -537,7 +566,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/tod_battery",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tod_battery",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Battery": null,
                     "com.ibm.ipzvpd.Location": {
@@ -549,7 +579,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -562,7 +593,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -575,7 +607,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -588,7 +621,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -601,7 +635,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -614,7 +649,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -627,7 +663,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -640,7 +677,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -653,7 +691,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -666,7 +705,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -679,7 +719,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -692,7 +733,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -705,7 +747,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -718,7 +761,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -731,7 +775,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -744,7 +789,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector15",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -757,7 +803,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector16",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector16",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -770,7 +817,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector17",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -783,7 +831,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector18",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -796,7 +845,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector19",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector19",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -809,7 +859,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector20",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector20",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -822,7 +873,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector21",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector21",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -835,7 +887,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -849,7 +902,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0/media0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0/media0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -863,7 +917,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0/rdx_power_connector",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0/rdx_power_connector",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -877,7 +932,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0/rdx_usb_connector",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0/rdx_usb_connector",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -893,7 +949,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Bmc": null,
                     "com.ibm.ipzvpd.Location": {
@@ -905,7 +962,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -927,7 +985,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -949,7 +1008,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -962,7 +1022,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -975,7 +1036,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -990,7 +1052,16 @@
         ],
         "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/tpm_wilson",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tpm_wilson",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "CPU_TPM_CARD_PRESENT_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Tpm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -1004,8 +1075,17 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/base_op_panel_blyth",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "essentialFru": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "BLYTH_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
                     "com.ibm.ipzvpd.Location": {
@@ -1019,25 +1099,56 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/lcd_op_panel_hill",
-                "devAddress": "7-0051",
-                "driverType": "at24",
-                "busType": "i2c",
-                "presence": {
-                    "pollingRequired": true,
-                    "pin": "RUSSEL_OPPANEL_PRESENCE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "pollingRequired": {
+                    "hotPlugging": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
                 },
                 "preAction": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 7-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 1,
-                    "gpioI2CAddress": "0-0020"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 7-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
@@ -1052,7 +1163,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vdd_vrm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Vrm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -1066,7 +1178,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vdd_vrm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Vrm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -1080,7 +1193,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
                 "cpuType": "primary",
                 "powerOffOnly": true,
@@ -1097,7 +1211,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1106,7 +1221,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1115,7 +1231,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1124,7 +1241,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1133,7 +1251,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1142,7 +1261,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1151,7 +1271,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1160,7 +1281,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1169,7 +1291,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1178,7 +1301,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1187,7 +1311,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1196,7 +1321,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1205,7 +1331,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1214,7 +1341,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1223,7 +1351,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1234,7 +1363,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1250,7 +1380,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1259,7 +1390,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1268,7 +1400,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1277,7 +1410,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1286,7 +1420,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1295,7 +1430,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1304,7 +1440,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1313,7 +1450,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1322,7 +1460,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1331,7 +1470,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1340,7 +1480,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1349,7 +1490,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1358,7 +1500,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1367,7 +1510,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1376,7 +1520,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1387,7 +1532,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi33.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1403,7 +1549,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1412,7 +1559,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1421,7 +1569,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1430,7 +1579,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1439,7 +1589,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1448,7 +1599,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1457,7 +1609,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1466,7 +1619,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1475,7 +1629,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1484,7 +1639,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1493,7 +1649,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1502,7 +1659,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1511,7 +1669,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1520,7 +1679,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1529,7 +1689,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1540,7 +1701,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi43.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1556,7 +1718,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1565,7 +1728,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1574,7 +1738,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1583,7 +1748,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1592,7 +1758,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1601,7 +1768,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1610,7 +1778,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1619,7 +1788,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1628,7 +1798,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1637,7 +1808,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1646,7 +1818,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1655,7 +1828,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1664,7 +1838,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1673,7 +1848,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1682,7 +1858,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1693,22 +1870,56 @@
         ],
         "/sys/bus/i2c/drivers/at24/4-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0",
-                "devAddress": "4-0050",
-                "pcaChipAddress": "4-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 4-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 4-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 4-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 4-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1729,7 +1940,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1745,7 +1957,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1763,22 +1976,56 @@
         ],
         "/sys/bus/i2c/drivers/at24/5-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3",
-                "devAddress": "5-0050",
-                "pcaChipAddress": "5-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 5-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 5-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 5-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 5-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1799,7 +2046,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1815,7 +2063,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1833,22 +2082,56 @@
         ],
         "/sys/bus/i2c/drivers/at24/5-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4",
-                "devAddress": "5-0051",
-                "pcaChipAddress": "5-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 5-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 5-0061 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 5-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 5-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1866,7 +2149,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1882,7 +2166,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1900,22 +2185,56 @@
         ],
         "/sys/bus/i2c/drivers/at24/11-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10",
-                "devAddress": "11-0050",
-                "pcaChipAddress": "11-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 11-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 11-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 11-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 11-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1936,7 +2255,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1952,7 +2272,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1968,7 +2289,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1984,7 +2306,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2000,7 +2323,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2016,7 +2340,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2034,22 +2359,45 @@
         ],
         "/sys/bus/i2c/drivers/at24/4-0052/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2",
-                "devAddress": "4-0052",
-                "pcaChipAddress": "4-0062",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 4-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 4-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2071,21 +2419,45 @@
         ],
         "/sys/bus/i2c/drivers/at24/6-0053/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6/pcie_card6",
-                "devAddress": "6-0053",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6/pcie_card6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 6-0053 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 6-0053 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2100,22 +2472,45 @@
         ],
         "/sys/bus/i2c/drivers/at24/6-0052/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7",
-                "devAddress": "6-0052",
-                "pcaChipAddress": "6-0062",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 6-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 6-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2137,22 +2532,45 @@
         ],
         "/sys/bus/i2c/drivers/at24/6-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9/pcie_card9",
-                "devAddress": "6-0050",
-                "pcaChipAddress": "6-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9/pcie_card9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 6-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 6-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2174,22 +2592,45 @@
         ],
         "/sys/bus/i2c/drivers/at24/11-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11",
-                "devAddress": "11-0051",
-                "pcaChipAddress": "11-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 11-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 11-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2210,7 +2651,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2226,7 +2668,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2242,7 +2685,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2258,7 +2702,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2276,22 +2721,45 @@
         ],
         "/sys/bus/i2c/drivers/at24/4-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1",
-                "devAddress": "4-0051",
-                "pcaChipAddress": "4-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 4-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 4-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2313,22 +2781,45 @@
         ],
         "/sys/bus/i2c/drivers/at24/6-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8",
-                "devAddress": "6-0051",
-                "pcaChipAddress": "6-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 6-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 6-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2349,7 +2840,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2365,7 +2857,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2381,7 +2874,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2397,7 +2891,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2415,7 +2910,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -2428,7 +2924,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2445,13 +2942,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme0/dp0_drive0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0/dp0_drive0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2466,7 +2961,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2483,13 +2979,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme1/dp0_drive1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1/dp0_drive1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2504,7 +2998,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2521,13 +3016,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2542,7 +3035,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2559,13 +3053,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2580,7 +3072,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2597,13 +3090,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2618,7 +3109,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2635,13 +3127,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2656,7 +3146,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2673,13 +3164,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme6/dp0_drive6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme6/dp0_drive6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2694,7 +3183,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2711,13 +3201,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme7/dp0_drive7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme7/dp0_drive7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2732,7 +3220,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2746,7 +3235,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2760,7 +3250,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2774,7 +3265,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2788,7 +3280,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2802,7 +3295,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2816,7 +3310,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2827,7 +3322,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2838,7 +3334,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2849,7 +3346,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2862,7 +3360,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/14-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -2875,7 +3374,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
@@ -2891,13 +3391,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme0/dp1_drive0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme0/dp1_drive0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2912,7 +3410,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
@@ -2928,13 +3427,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme1/dp1_drive1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme1/dp1_drive1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2949,7 +3446,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
@@ -2965,13 +3463,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2986,7 +3482,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
@@ -3002,13 +3499,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3023,7 +3518,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
@@ -3039,13 +3535,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3060,7 +3554,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
@@ -3076,13 +3571,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3097,7 +3590,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
@@ -3113,13 +3607,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme6/dp1_drive6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme6/dp1_drive6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3134,7 +3626,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
@@ -3150,13 +3643,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme7/dp1_drive7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme7/dp1_drive7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3171,7 +3662,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3185,7 +3677,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3199,7 +3692,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3213,7 +3707,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3227,7 +3722,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3241,7 +3737,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3255,7 +3752,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -3266,7 +3764,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -3277,7 +3776,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -3288,7 +3788,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -3301,7 +3802,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-111/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3316,7 +3830,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3325,7 +3840,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3334,7 +3850,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3343,7 +3860,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3354,7 +3872,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-110/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3369,7 +3900,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3378,7 +3910,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3387,7 +3920,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3396,7 +3930,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3407,7 +3942,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-214/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3422,7 +3970,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3431,7 +3980,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3440,7 +3990,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3449,7 +4000,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3460,7 +4012,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-210/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3475,7 +4040,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3484,7 +4050,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3493,7 +4060,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3502,7 +4070,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3513,7 +4082,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-202/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3528,7 +4110,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3537,7 +4120,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3546,7 +4130,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3555,7 +4140,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3566,7 +4152,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-311/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3581,7 +4180,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3590,7 +4190,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3599,7 +4200,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3608,7 +4210,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3619,7 +4222,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-310/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3634,7 +4250,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3643,7 +4260,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3652,7 +4270,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3661,7 +4280,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3672,7 +4292,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-312/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3687,7 +4320,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3696,7 +4330,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3705,7 +4340,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3714,7 +4350,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3725,7 +4362,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-402/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3740,7 +4390,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3749,7 +4400,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3758,7 +4410,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3767,7 +4420,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3778,7 +4432,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-410/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3793,7 +4460,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3802,7 +4470,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3811,7 +4480,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3820,7 +4490,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3831,7 +4502,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-112/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3846,7 +4530,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3855,7 +4540,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3864,7 +4550,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3873,7 +4560,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3884,7 +4572,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-115/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3899,7 +4600,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3908,7 +4610,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3917,7 +4620,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3926,7 +4630,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3937,7 +4642,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-100/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3952,7 +4670,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3961,7 +4680,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3970,7 +4690,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3979,7 +4700,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3990,7 +4712,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-101/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4005,7 +4740,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4014,7 +4750,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4023,7 +4760,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4032,7 +4770,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4043,7 +4782,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-114/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4058,7 +4810,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4067,7 +4820,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4076,7 +4830,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4085,7 +4840,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4096,7 +4852,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-113/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4111,7 +4880,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4120,7 +4890,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4129,7 +4900,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4138,7 +4910,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4149,7 +4922,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-216/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4164,7 +4950,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4173,7 +4960,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4182,7 +4970,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4191,7 +4980,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4202,7 +4992,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-203/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4217,7 +5020,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4226,7 +5030,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4235,7 +5040,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4244,7 +5050,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4255,7 +5062,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-217/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4270,7 +5090,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4279,7 +5100,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4288,7 +5110,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4297,7 +5120,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4308,7 +5132,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-211/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4323,7 +5160,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4332,7 +5170,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4341,7 +5180,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4350,7 +5190,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4361,7 +5202,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-215/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4376,7 +5230,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4385,7 +5240,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4394,7 +5250,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4403,7 +5260,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4414,7 +5272,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-315/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4429,7 +5300,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4438,7 +5310,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4447,7 +5320,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4456,7 +5330,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4467,7 +5342,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-300/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4482,7 +5370,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4491,7 +5380,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4500,7 +5390,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4509,7 +5400,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4520,7 +5412,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-313/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4535,7 +5440,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4544,7 +5450,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4553,7 +5460,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4562,7 +5470,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4573,7 +5482,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-314/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4588,7 +5510,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4597,7 +5520,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4606,7 +5530,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4615,7 +5540,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4626,7 +5552,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-301/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4641,7 +5580,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4650,7 +5590,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4659,7 +5600,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4668,7 +5610,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4679,7 +5622,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-417/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4694,7 +5650,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4703,7 +5660,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4712,7 +5670,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4721,7 +5680,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4732,7 +5692,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-403/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4747,7 +5720,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4756,7 +5730,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4765,7 +5740,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4774,7 +5750,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4785,7 +5762,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-416/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4800,7 +5790,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4809,7 +5800,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4818,7 +5810,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4827,7 +5820,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4838,7 +5832,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-411/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4853,7 +5860,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4862,7 +5870,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4871,7 +5880,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4880,7 +5890,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4891,7 +5902,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-415/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4906,7 +5930,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4915,7 +5940,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4924,7 +5950,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4933,7 +5960,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4944,7 +5972,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-414/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4959,7 +6000,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4968,7 +6010,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4977,7 +6020,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4986,7 +6030,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
diff --git a/config/ibm/50001000_v2.json b/configuration/ibm/50001000_v2.json
similarity index 62%
rename from config/ibm/50001000_v2.json
rename to configuration/ibm/50001000_v2.json
index f80f61d..ea66635 100644
--- a/config/ibm/50001000_v2.json
+++ b/configuration/ibm/50001000_v2.json
@@ -1,4 +1,6 @@
 {
+    "devTree": "conf-aspeed-bmc-ibm-rainier-4u.dtb",
+    "backupRestoreConfigPath": "/usr/share/vpd/backup_restore_50001000.json",
     "commonInterfaces": {
         "xyz.openbmc_project.Inventory.Decorator.Asset": {
             "PartNumber": {
@@ -49,7 +51,8 @@
     "frus": {
         "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
@@ -62,7 +65,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -71,7 +75,8 @@
                 }
             },
             {
-                "inventoryPath": "/system",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "isSystemVpd": true,
                 "copyRecords": ["VSYS"],
@@ -100,7 +105,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Chassis": {
@@ -116,7 +122,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -133,7 +140,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -150,7 +158,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -167,7 +176,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -184,7 +194,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -201,7 +212,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -218,7 +230,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -235,7 +248,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -252,7 +266,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -269,7 +284,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -286,7 +302,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -303,7 +320,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -319,7 +337,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -335,7 +354,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -346,7 +366,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -357,7 +378,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -368,7 +390,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -379,7 +402,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -409,7 +433,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -439,7 +464,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -469,7 +495,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -499,7 +526,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -529,7 +557,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -559,7 +588,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/tod_battery",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tod_battery",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Battery": null,
                     "com.ibm.ipzvpd.Location": {
@@ -571,7 +601,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -584,7 +615,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -597,7 +629,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -610,7 +643,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -623,7 +657,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -636,7 +671,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -649,7 +685,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -662,7 +699,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -675,7 +713,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -688,7 +727,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -701,7 +741,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -714,7 +755,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -727,7 +769,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -740,7 +783,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -753,7 +797,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -766,7 +811,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector15",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -779,7 +825,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector16",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector16",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -792,7 +839,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector17",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -805,7 +853,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector18",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -818,7 +867,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector19",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector19",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -831,7 +881,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector20",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector20",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -844,7 +895,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector21",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector21",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -857,7 +909,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -871,7 +924,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0/media0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0/media0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -885,7 +939,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0/rdx_power_connector",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0/rdx_power_connector",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -899,7 +954,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0/rdx_usb_connector",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0/rdx_usb_connector",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -915,7 +971,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Bmc": null,
                     "com.ibm.ipzvpd.Location": {
@@ -927,7 +984,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -949,7 +1007,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -971,7 +1030,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -984,7 +1044,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -997,7 +1058,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -1012,7 +1074,16 @@
         ],
         "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/tpm_wilson",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tpm_wilson",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "CPU_TPM_CARD_PRESENT_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Tpm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -1026,7 +1097,16 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/base_op_panel_blyth",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "BLYTH_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "essentialFru": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
@@ -1041,25 +1121,56 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/lcd_op_panel_hill",
-                "devAddress": "7-0051",
-                "driverType": "at24",
-                "busType": "i2c",
-                "presence": {
-                    "pollingRequired": true,
-                    "pin": "RUSSEL_OPPANEL_PRESENCE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "pollingRequired": {
+                    "hotPlugging": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
                 },
                 "preAction": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 7-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 1,
-                    "gpioI2CAddress": "0-0020"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 7-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
@@ -1074,7 +1185,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vdd_vrm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Vrm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -1088,7 +1200,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vdd_vrm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Vrm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -1102,7 +1215,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
                 "cpuType": "primary",
                 "powerOffOnly": true,
@@ -1119,7 +1233,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1128,7 +1243,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1137,7 +1253,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1146,7 +1263,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1155,7 +1273,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1164,7 +1283,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1173,7 +1293,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1182,7 +1303,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1191,7 +1313,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1200,7 +1323,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1209,7 +1333,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1218,7 +1343,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1227,7 +1353,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1236,7 +1363,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1245,7 +1373,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1256,7 +1385,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1272,7 +1402,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1281,7 +1412,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1290,7 +1422,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1299,7 +1432,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1308,7 +1442,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1317,7 +1452,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1326,7 +1462,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1335,7 +1472,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1344,7 +1482,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1353,7 +1492,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1362,7 +1502,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1371,7 +1512,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1380,7 +1522,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1389,7 +1532,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1398,7 +1542,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1409,7 +1554,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi33.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1425,7 +1571,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1434,7 +1581,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1443,7 +1591,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1452,7 +1601,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1461,7 +1611,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1470,7 +1621,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1479,7 +1631,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1488,7 +1641,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1497,7 +1651,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1506,7 +1661,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1515,7 +1671,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1524,7 +1681,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1533,7 +1691,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1542,7 +1701,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1551,7 +1711,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1562,7 +1723,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi43.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1578,7 +1740,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1587,7 +1750,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1596,7 +1760,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1605,7 +1770,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1614,7 +1780,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1623,7 +1790,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1632,7 +1800,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1641,7 +1810,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1650,7 +1820,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1659,7 +1830,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1668,7 +1840,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1677,7 +1850,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1686,7 +1860,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1695,7 +1870,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1704,7 +1880,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1715,27 +1892,62 @@
         ],
         "/sys/bus/i2c/drivers/at24/20-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0",
-                "devAddress": "20-0050",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "pcaChipAddress": "20-0060",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT0_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT0_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 20-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 20-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 20-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 20-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1756,7 +1968,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1772,7 +1985,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1790,27 +2004,60 @@
         ],
         "/sys/bus/i2c/drivers/at24/23-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3",
-                "devAddress": "23-0050",
-                "pcaChipAddress": "23-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT3_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT3_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 23-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 23-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 23-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 23-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1831,7 +2078,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1847,7 +2095,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1865,27 +2114,60 @@
         ],
         "/sys/bus/i2c/drivers/at24/24-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4",
-                "devAddress": "24-0051",
-                "pcaChipAddress": "24-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT4_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT4_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 24-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 24-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 24-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1906,7 +2188,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1922,7 +2205,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1940,27 +2224,60 @@
         ],
         "/sys/bus/i2c/drivers/at24/29-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10",
-                "devAddress": "29-0050",
-                "pcaChipAddress": "29-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT10_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT10_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 29-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 29-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 29-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 29-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1981,7 +2298,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1997,7 +2315,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -2013,7 +2332,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2029,7 +2349,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2045,7 +2366,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2061,7 +2383,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2079,27 +2402,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/22-0052/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2",
-                "devAddress": "22-0052",
-                "pcaChipAddress": "22-0062",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT2_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT2_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 22-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 22-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2121,26 +2466,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/25-0053/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6/pcie_card6",
-                "devAddress": "25-0053",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6/pcie_card6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT6_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT6_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 25-0053 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 25-0053 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2155,27 +2523,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/26-0052/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7",
-                "devAddress": "26-0052",
-                "pcaChipAddress": "26-0062",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT7_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT7_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 26-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 26-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2197,27 +2587,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/27-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9/pcie_card9",
-                "devAddress": "27-0050",
-                "pcaChipAddress": "27-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9/pcie_card9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT9_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT9_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 27-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 27-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2239,27 +2651,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/30-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11",
-                "devAddress": "30-0051",
-                "pcaChipAddress": "30-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT11_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT11_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 30-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 30-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2280,7 +2714,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2296,7 +2731,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2312,7 +2748,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2328,7 +2765,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2346,27 +2784,50 @@
         ],
         "/sys/bus/i2c/drivers/at24/21-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1",
-                "devAddress": "21-0051",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "pcaChipAddress": "21-0061",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT1_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT1_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 21-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 21-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2388,27 +2849,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/28-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8",
-                "devAddress": "28-0051",
-                "pcaChipAddress": "28-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT8_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT8_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 28-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 28-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2429,7 +2912,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2445,7 +2929,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2461,7 +2946,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2477,7 +2963,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2495,7 +2982,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -2508,7 +2996,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2525,13 +3014,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme0/dp0_drive0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0/dp0_drive0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2546,7 +3033,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2563,13 +3051,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme1/dp0_drive1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1/dp0_drive1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2584,7 +3070,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2601,13 +3088,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2622,7 +3107,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2639,13 +3125,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2660,7 +3144,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2677,13 +3162,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2698,7 +3181,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2715,13 +3199,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2736,7 +3218,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2753,13 +3236,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme6/dp0_drive6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme6/dp0_drive6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2774,7 +3255,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2791,13 +3273,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme7/dp0_drive7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme7/dp0_drive7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2812,7 +3292,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2826,7 +3307,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2840,7 +3322,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2854,7 +3337,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2868,7 +3352,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2882,7 +3367,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2896,7 +3382,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2907,7 +3394,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2918,7 +3406,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2929,7 +3418,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2942,7 +3432,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/14-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -2955,7 +3446,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2972,13 +3464,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme0/dp1_drive0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme0/dp1_drive0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2993,7 +3483,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -3010,13 +3501,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme1/dp1_drive1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme1/dp1_drive1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3031,7 +3520,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -3048,13 +3538,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3069,7 +3557,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -3086,13 +3575,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3107,7 +3594,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -3124,13 +3612,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3145,7 +3631,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -3162,13 +3649,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3183,7 +3668,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -3200,13 +3686,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme6/dp1_drive6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme6/dp1_drive6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3221,7 +3705,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -3238,13 +3723,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme7/dp1_drive7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme7/dp1_drive7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3259,7 +3742,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3273,7 +3757,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3287,7 +3772,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3301,7 +3787,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3315,7 +3802,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3329,7 +3817,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -3343,7 +3832,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -3354,7 +3844,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -3365,7 +3856,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -3376,7 +3868,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -3389,7 +3882,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-111/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3404,7 +3910,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3413,7 +3920,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3422,7 +3930,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3431,7 +3940,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3442,7 +3952,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-110/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3457,7 +3980,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3466,7 +3990,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3475,7 +4000,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3484,7 +4010,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3495,7 +4022,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-214/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3510,7 +4050,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3519,7 +4060,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3528,7 +4070,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3537,7 +4080,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3548,7 +4092,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-210/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3563,7 +4120,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3572,7 +4130,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3581,7 +4140,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3590,7 +4150,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3601,7 +4162,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-202/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3616,7 +4190,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3625,7 +4200,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3634,7 +4210,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3643,7 +4220,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3654,7 +4232,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-311/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3669,7 +4260,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3678,7 +4270,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3687,7 +4280,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3696,7 +4290,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3707,7 +4302,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-310/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3722,7 +4330,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3731,7 +4340,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3740,7 +4350,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3749,7 +4360,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3760,7 +4372,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-312/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3775,7 +4400,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3784,7 +4410,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3793,7 +4420,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3802,7 +4430,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3813,7 +4442,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-402/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3828,7 +4470,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3837,7 +4480,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3846,7 +4490,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3855,7 +4500,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3866,7 +4512,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-410/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3881,7 +4540,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3890,7 +4550,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3899,7 +4560,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3908,7 +4570,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3919,7 +4582,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-112/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3934,7 +4610,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3943,7 +4620,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3952,7 +4630,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3961,7 +4640,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3972,7 +4652,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-115/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3987,7 +4680,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3996,7 +4690,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4005,7 +4700,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4014,7 +4710,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4025,7 +4722,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-100/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4040,7 +4750,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4049,7 +4760,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4058,7 +4770,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4067,7 +4780,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4078,7 +4792,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-101/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4093,7 +4820,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4102,7 +4830,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4111,7 +4840,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4120,7 +4850,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4131,7 +4862,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-114/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4146,7 +4890,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4155,7 +4900,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4164,7 +4910,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4173,7 +4920,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4184,7 +4932,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-113/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4199,7 +4960,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4208,7 +4970,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4217,7 +4980,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4226,7 +4990,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4237,7 +5002,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-216/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4252,7 +5030,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4261,7 +5040,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4270,7 +5050,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4279,7 +5060,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4290,7 +5072,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-203/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4305,7 +5100,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4314,7 +5110,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4323,7 +5120,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4332,7 +5130,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4343,7 +5142,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-217/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4358,7 +5170,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4367,7 +5180,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4376,7 +5190,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4385,7 +5200,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4396,7 +5212,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-211/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4411,7 +5240,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4420,7 +5250,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4429,7 +5260,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4438,7 +5270,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4449,7 +5282,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-215/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4464,7 +5310,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4473,7 +5320,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4482,7 +5330,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4491,7 +5340,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4502,7 +5352,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-315/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4517,7 +5380,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4526,7 +5390,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4535,7 +5400,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4544,7 +5410,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4555,7 +5422,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-300/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4570,7 +5450,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4579,7 +5460,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4588,7 +5470,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4597,7 +5480,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4608,7 +5492,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-313/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4623,7 +5520,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4632,7 +5530,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4641,7 +5540,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4650,7 +5550,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4661,7 +5562,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-314/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4676,7 +5590,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4685,7 +5600,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4694,7 +5610,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4703,7 +5620,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4714,7 +5632,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-301/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4729,7 +5660,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4738,7 +5670,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4747,7 +5680,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4756,7 +5690,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4767,7 +5702,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-417/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4782,7 +5730,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4791,7 +5740,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4800,7 +5750,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4809,7 +5760,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4820,7 +5772,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-403/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4835,7 +5800,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4844,7 +5810,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4853,7 +5820,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4862,7 +5830,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4873,7 +5842,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-416/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4888,7 +5870,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4897,7 +5880,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4906,7 +5890,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4915,7 +5900,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4926,7 +5912,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-411/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4941,7 +5940,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4950,7 +5950,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4959,7 +5960,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4968,7 +5970,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4979,7 +5982,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-415/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4994,7 +6010,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -5003,7 +6020,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -5012,7 +6030,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -5021,7 +6040,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -5032,7 +6052,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-414/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -5047,7 +6080,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -5056,7 +6090,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -5065,7 +6100,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -5074,7 +6110,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
diff --git a/config/ibm/50001001_v2.json b/configuration/ibm/50001001.json
similarity index 60%
copy from config/ibm/50001001_v2.json
copy to configuration/ibm/50001001.json
index ae7e7c6..502c0a9 100644
--- a/config/ibm/50001001_v2.json
+++ b/configuration/ibm/50001001.json
@@ -1,4 +1,6 @@
 {
+    "devTree": "conf-aspeed-bmc-ibm-rainier-p1.dtb",
+    "backupRestoreConfigPath": "/usr/share/vpd/backup_restore_50001001.json",
     "commonInterfaces": {
         "xyz.openbmc_project.Inventory.Decorator.Asset": {
             "PartNumber": {
@@ -24,32 +26,11 @@
             }
         }
     },
-    "muxes": [
-        {
-            "i2bus": "4",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/4-0070/hold_idle"
-        },
-        {
-            "i2bus": "5",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/5-0070/hold_idle"
-        },
-        {
-            "i2bus": "6",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/6-0070/hold_idle"
-        },
-        {
-            "i2bus": "11",
-            "deviceaddress": "0xE0",
-            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/11-0070/hold_idle"
-        }
-    ],
     "frus": {
         "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
@@ -62,7 +43,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -71,7 +53,8 @@
                 }
             },
             {
-                "inventoryPath": "/system",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "isSystemVpd": true,
                 "copyRecords": ["VSYS"],
@@ -100,7 +83,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Chassis": {
@@ -116,7 +100,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -133,7 +118,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -150,7 +136,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -167,7 +154,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -184,7 +172,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -201,7 +190,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -218,7 +208,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -235,7 +226,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -252,7 +244,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -269,7 +262,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -286,7 +280,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -303,7 +298,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -319,7 +315,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -335,7 +332,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -346,7 +344,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -357,7 +356,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -387,7 +387,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -417,7 +418,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -447,7 +449,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -477,7 +480,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -507,7 +511,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -537,7 +542,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/tod_battery",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tod_battery",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Battery": null,
                     "com.ibm.ipzvpd.Location": {
@@ -549,7 +555,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -562,7 +569,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -575,7 +583,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -588,7 +597,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -601,7 +611,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -614,7 +625,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -627,7 +639,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -640,7 +653,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -653,7 +667,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -666,7 +681,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -679,7 +695,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -692,7 +709,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -705,7 +723,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -718,7 +737,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -731,7 +751,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector15",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -744,7 +765,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector17",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -757,7 +779,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector18",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -772,7 +795,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Bmc": null,
                     "com.ibm.ipzvpd.Location": {
@@ -784,7 +808,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -806,7 +831,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -828,7 +854,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -841,7 +868,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -854,7 +882,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -869,7 +898,16 @@
         ],
         "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/tpm_wilson",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tpm_wilson",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "CPU_TPM_CARD_PRESENT_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Tpm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -883,8 +921,17 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/base_op_panel_blyth",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "essentialFru": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "BLYTH_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
                     "com.ibm.ipzvpd.Location": {
@@ -898,25 +945,56 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/lcd_op_panel_hill",
-                "devAddress": "7-0051",
-                "driverType": "at24",
-                "busType": "i2c",
-                "presence": {
-                    "pollingRequired": true,
-                    "pin": "RUSSEL_OPPANEL_PRESENCE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "pollingRequired": {
+                    "hotPlugging": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
                 },
                 "preAction": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 7-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 1,
-                    "gpioI2CAddress": "0-0020"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 7-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
@@ -931,7 +1009,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vdd_vrm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Vrm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -945,7 +1024,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vdd_vrm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Vrm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -959,7 +1039,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
                 "cpuType": "primary",
                 "powerOffOnly": true,
@@ -976,7 +1057,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -985,7 +1067,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -994,7 +1077,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1003,7 +1087,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1012,7 +1097,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1021,7 +1107,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1030,7 +1117,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1039,7 +1127,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1048,7 +1137,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1057,7 +1147,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1066,7 +1157,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1075,7 +1167,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1084,7 +1177,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1093,7 +1187,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1102,7 +1197,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1113,7 +1209,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1129,7 +1226,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1138,7 +1236,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1147,7 +1246,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1156,7 +1256,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1165,7 +1266,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1174,7 +1276,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1183,7 +1286,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1192,7 +1296,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1201,7 +1306,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1210,7 +1316,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1219,7 +1326,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1228,7 +1336,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1237,7 +1346,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1246,7 +1356,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1255,7 +1366,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1266,7 +1378,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi33.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1282,7 +1395,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1291,7 +1405,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1300,7 +1415,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1309,7 +1425,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1318,7 +1435,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1327,7 +1445,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1336,7 +1455,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1345,7 +1465,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1354,7 +1475,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1363,7 +1485,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1372,7 +1495,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1381,7 +1505,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1390,7 +1515,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1399,7 +1525,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1408,7 +1535,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1419,7 +1547,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi43.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1435,7 +1564,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1444,7 +1574,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1453,7 +1584,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1462,7 +1594,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1471,7 +1604,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1480,7 +1614,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1489,7 +1624,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1498,7 +1634,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1507,7 +1644,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1516,7 +1654,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1525,7 +1664,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1534,7 +1674,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1543,7 +1684,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1552,7 +1694,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1561,7 +1704,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1570,29 +1714,58 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/20-0050/eeprom": [
+        "/sys/bus/i2c/drivers/at24/4-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0",
-                "devAddress": "20-0050",
-                "pcaChipAddress": "20-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT0_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 4-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 4-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 4-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 4-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1601,7 +1774,7 @@
                         "LocationCode": "Ufcs-P0-C0"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 20,
+                        "Bus": 4,
                         "Address": 80
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -1613,7 +1786,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1629,7 +1803,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1645,29 +1820,58 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/23-0050/eeprom": [
+        "/sys/bus/i2c/drivers/at24/5-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3",
-                "devAddress": "23-0050",
-                "pcaChipAddress": "23-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT3_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 5-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 5-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 5-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 5-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1676,7 +1880,7 @@
                         "LocationCode": "Ufcs-P0-C3"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 23,
+                        "Bus": 5,
                         "Address": 80
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -1688,7 +1892,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1704,7 +1909,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1720,29 +1926,58 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/24-0051/eeprom": [
+        "/sys/bus/i2c/drivers/at24/5-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4",
-                "devAddress": "24-0051",
-                "pcaChipAddress": "24-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT4_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 5-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 5-0061 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 5-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 5-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1751,7 +1986,7 @@
                         "LocationCode": "Ufcs-P0-C4"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 24,
+                        "Bus": 5,
                         "Address": 81
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -1763,7 +1998,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1779,7 +2015,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1795,29 +2032,58 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/29-0050/eeprom": [
+        "/sys/bus/i2c/drivers/at24/11-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10",
-                "devAddress": "29-0050",
-                "pcaChipAddress": "29-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT10_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 11-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 11-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 11-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 11-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1826,7 +2092,7 @@
                         "LocationCode": "Ufcs-P0-C10"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 29,
+                        "Bus": 11,
                         "Address": 80
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -1838,7 +2104,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1854,7 +2121,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1870,7 +2138,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1886,7 +2155,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1902,7 +2172,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1918,7 +2189,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1934,29 +2206,47 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/22-0052/eeprom": [
+        "/sys/bus/i2c/drivers/at24/4-0052/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2",
-                "devAddress": "22-0052",
-                "pcaChipAddress": "22-0062",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT2_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 4-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 4-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1964,7 +2254,7 @@
                         "LocationCode": "Ufcs-P0-C2"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 22,
+                        "Bus": 4,
                         "Address": 82
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -1976,28 +2266,47 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/25-0053/eeprom": [
+        "/sys/bus/i2c/drivers/at24/6-0053/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6/pcie_card6",
-                "devAddress": "25-0053",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6/pcie_card6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT6_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 6-0053 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 6-0053 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2010,29 +2319,47 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/26-0052/eeprom": [
+        "/sys/bus/i2c/drivers/at24/6-0052/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7",
-                "devAddress": "26-0052",
-                "pcaChipAddress": "26-0062",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT7_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 6-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 6-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2040,7 +2367,7 @@
                         "LocationCode": "Ufcs-P0-C7"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 26,
+                        "Bus": 6,
                         "Address": 82
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -2052,29 +2379,47 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/27-0050/eeprom": [
+        "/sys/bus/i2c/drivers/at24/6-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9/pcie_card9",
-                "devAddress": "27-0050",
-                "pcaChipAddress": "27-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9/pcie_card9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT9_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 6-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 6-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2082,7 +2427,7 @@
                         "LocationCode": "Ufcs-P0-C9"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 27,
+                        "Bus": 6,
                         "Address": 80
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -2094,29 +2439,47 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/30-0051/eeprom": [
+        "/sys/bus/i2c/drivers/at24/11-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11",
-                "devAddress": "30-0051",
-                "pcaChipAddress": "30-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT11_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 11-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 11-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2125,7 +2488,7 @@
                         "LocationCode": "Ufcs-P0-C11"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 30,
+                        "Bus": 11,
                         "Address": 81
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -2137,7 +2500,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2153,7 +2517,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2169,7 +2534,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2185,7 +2551,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2201,29 +2568,47 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/21-0051/eeprom": [
+        "/sys/bus/i2c/drivers/at24/4-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1",
-                "devAddress": "21-0051",
-                "pcaChipAddress": "21-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT1_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 4-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 4-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2231,7 +2616,7 @@
                         "LocationCode": "Ufcs-P0-C1"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 21,
+                        "Bus": 4,
                         "Address": 81
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -2243,29 +2628,47 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/28-0051/eeprom": [
+        "/sys/bus/i2c/drivers/at24/6-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8",
-                "devAddress": "28-0051",
-                "pcaChipAddress": "28-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT8_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 6-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 6-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2274,7 +2677,7 @@
                         "LocationCode": "Ufcs-P0-C8"
                     },
                     "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
-                        "Bus": 28,
+                        "Bus": 6,
                         "Address": 81
                     },
                     "xyz.openbmc_project.Inventory.Decorator.Slot": {
@@ -2286,7 +2689,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2302,7 +2706,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2318,7 +2723,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2334,7 +2740,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2352,7 +2759,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -2365,7 +2773,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2382,13 +2791,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2403,7 +2810,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2420,13 +2828,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2441,7 +2847,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2458,13 +2865,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2479,7 +2884,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2496,13 +2902,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2517,7 +2921,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2531,7 +2936,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2545,7 +2951,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2559,7 +2966,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2573,7 +2981,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2584,7 +2993,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2597,7 +3007,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/14-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -2610,7 +3021,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2627,13 +3039,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2648,7 +3058,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2665,13 +3076,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2686,7 +3095,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2703,13 +3113,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2724,7 +3132,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2741,13 +3150,11 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2762,7 +3169,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2776,7 +3184,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2790,7 +3199,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2804,7 +3214,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2818,7 +3229,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2829,7 +3241,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2842,7 +3255,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-111/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2857,7 +3283,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2866,7 +3293,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2875,7 +3303,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2884,7 +3313,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2895,7 +3325,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-110/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2910,7 +3353,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2919,7 +3363,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2928,7 +3373,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2937,7 +3383,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2948,7 +3395,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-214/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2963,7 +3423,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2972,7 +3433,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2981,7 +3443,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2990,7 +3453,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3001,7 +3465,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-210/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3016,7 +3493,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3025,7 +3503,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3034,7 +3513,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3043,7 +3523,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3054,7 +3535,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-202/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3069,7 +3563,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3078,7 +3573,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3087,7 +3583,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3096,7 +3593,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3107,7 +3605,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-311/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3122,7 +3633,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3131,7 +3643,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3140,7 +3653,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3149,7 +3663,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3160,7 +3675,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-310/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3175,7 +3703,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3184,7 +3713,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3193,7 +3723,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3202,7 +3733,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3213,7 +3745,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-312/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3228,7 +3773,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3237,7 +3783,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3246,7 +3793,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3255,7 +3803,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3266,7 +3815,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-402/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3281,7 +3843,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3290,7 +3853,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3299,7 +3863,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3308,7 +3873,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3319,7 +3885,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-410/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3334,7 +3913,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3343,7 +3923,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3352,7 +3933,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3361,7 +3943,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3372,7 +3955,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-112/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3387,7 +3983,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3396,7 +3993,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3405,7 +4003,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3414,7 +4013,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3425,7 +4025,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-115/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3440,7 +4053,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3449,7 +4063,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3458,7 +4073,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3467,7 +4083,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3478,7 +4095,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-100/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3493,7 +4123,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3502,7 +4133,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3511,7 +4143,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3520,7 +4153,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3531,7 +4165,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-101/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3546,7 +4193,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3555,7 +4203,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3564,7 +4213,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3573,7 +4223,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3584,7 +4235,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-114/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3599,7 +4263,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3608,7 +4273,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3617,7 +4283,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3626,7 +4293,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3637,7 +4305,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-113/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3652,7 +4333,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3661,7 +4343,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3670,7 +4353,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3679,7 +4363,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3690,7 +4375,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-216/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3705,7 +4403,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3714,7 +4413,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3723,7 +4423,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3732,7 +4433,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3743,7 +4445,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-203/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3758,7 +4473,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3767,7 +4483,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3776,7 +4493,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3785,7 +4503,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3796,7 +4515,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-217/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3811,7 +4543,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3820,7 +4553,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3829,7 +4563,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3838,7 +4573,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3849,7 +4585,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-211/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3864,7 +4613,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3873,7 +4623,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3882,7 +4633,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3891,7 +4643,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3902,7 +4655,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-215/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3917,7 +4683,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3926,7 +4693,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3935,7 +4703,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3944,7 +4713,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3955,7 +4725,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-315/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3970,7 +4753,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3979,7 +4763,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3988,7 +4773,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3997,7 +4783,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4008,7 +4795,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-300/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4023,7 +4823,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4032,7 +4833,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4041,7 +4843,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4050,7 +4853,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4061,7 +4865,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-313/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4076,7 +4893,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4085,7 +4903,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4094,7 +4913,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4103,7 +4923,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4114,7 +4935,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-314/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4129,7 +4963,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4138,7 +4973,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4147,7 +4983,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4156,7 +4993,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4167,7 +5005,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-301/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4182,7 +5033,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4191,7 +5043,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4200,7 +5053,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4209,7 +5063,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4220,7 +5075,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-417/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4235,7 +5103,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4244,7 +5113,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4253,7 +5123,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4262,7 +5133,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4273,7 +5145,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-403/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4288,7 +5173,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4297,7 +5183,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4306,7 +5193,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4315,7 +5203,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4326,7 +5215,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-416/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4341,7 +5243,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4350,7 +5253,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4359,7 +5263,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4368,7 +5273,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4379,7 +5285,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-411/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4394,7 +5313,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4403,7 +5323,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4412,7 +5333,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4421,7 +5343,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4432,7 +5355,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-415/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4447,7 +5383,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4456,7 +5393,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4465,7 +5403,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4474,7 +5413,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4485,7 +5425,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-414/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4500,7 +5453,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4509,7 +5463,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4518,7 +5473,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4527,7 +5483,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
diff --git a/config/ibm/50001001_v2.json b/configuration/ibm/50001001_v2.json
similarity index 61%
rename from config/ibm/50001001_v2.json
rename to configuration/ibm/50001001_v2.json
index ae7e7c6..5e6621d 100644
--- a/config/ibm/50001001_v2.json
+++ b/configuration/ibm/50001001_v2.json
@@ -1,4 +1,6 @@
 {
+    "devTree": "conf-aspeed-bmc-ibm-rainier.dtb",
+    "backupRestoreConfigPath": "/usr/share/vpd/backup_restore_50001001.json",
     "commonInterfaces": {
         "xyz.openbmc_project.Inventory.Decorator.Asset": {
             "PartNumber": {
@@ -49,7 +51,8 @@
     "frus": {
         "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
@@ -62,7 +65,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -71,7 +75,8 @@
                 }
             },
             {
-                "inventoryPath": "/system",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "isSystemVpd": true,
                 "copyRecords": ["VSYS"],
@@ -100,7 +105,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Chassis": {
@@ -116,7 +122,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -133,7 +140,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -150,7 +158,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -167,7 +176,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -184,7 +194,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -201,7 +212,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -218,7 +230,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -235,7 +248,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -252,7 +266,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -269,7 +284,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -286,7 +302,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -303,7 +320,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -314,12 +332,13 @@
                         "LocationCode": "Ufcs-P0-T18"
                     },
                     "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port (front)"
+                        "PrettyName": "USB 3.0 port"
                     }
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -330,12 +349,13 @@
                         "SlotNumber": 12
                     },
                     "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port (front)"
+                        "PrettyName": "USB 3.0 port"
                     }
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -346,7 +366,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -357,7 +378,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -387,7 +409,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -417,7 +440,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -447,7 +471,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -477,7 +502,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -507,7 +533,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -537,7 +564,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/tod_battery",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tod_battery",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Battery": null,
                     "com.ibm.ipzvpd.Location": {
@@ -549,7 +577,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -562,7 +591,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -575,7 +605,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -588,7 +619,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -601,7 +633,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -614,7 +647,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -627,7 +661,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -640,7 +675,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -653,7 +689,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -666,7 +703,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -679,7 +717,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -692,7 +731,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -705,7 +745,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -718,7 +759,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -731,7 +773,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector15",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -744,7 +787,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector17",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -757,7 +801,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector18",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -765,14 +810,15 @@
                         "LocationCode": "Ufcs-P0-T18"
                     },
                     "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port (front)"
+                        "PrettyName": "USB 3.0 port"
                     }
                 }
             }
         ],
         "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Bmc": null,
                     "com.ibm.ipzvpd.Location": {
@@ -784,7 +830,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -806,7 +853,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -828,7 +876,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -836,12 +885,13 @@
                         "LocationCode": "Ufcs-P0-C5-T2"
                     },
                     "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 3.0 port (rear)"
+                        "PrettyName": "USB 3.0 port"
                     }
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -854,7 +904,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -862,14 +913,23 @@
                         "LocationCode": "Ufcs-P0-C5-T4"
                     },
                     "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "USB 2.0 port (rear)"
+                        "PrettyName": "USB 2.0 port"
                     }
                 }
             }
         ],
         "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/tpm_wilson",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tpm_wilson",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "CPU_TPM_CARD_PRESENT_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Tpm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -883,8 +943,17 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/base_op_panel_blyth",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "essentialFru": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "BLYTH_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
                     "com.ibm.ipzvpd.Location": {
@@ -898,25 +967,56 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/lcd_op_panel_hill",
-                "devAddress": "7-0051",
-                "driverType": "at24",
-                "busType": "i2c",
-                "presence": {
-                    "pollingRequired": true,
-                    "pin": "RUSSEL_OPPANEL_PRESENCE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "pollingRequired": {
+                    "hotPlugging": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
                 },
                 "preAction": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 7-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 1,
-                    "gpioI2CAddress": "0-0020"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 7-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
@@ -931,7 +1031,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vdd_vrm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Vrm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -945,7 +1046,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vdd_vrm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Vrm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -959,7 +1061,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
                 "cpuType": "primary",
                 "powerOffOnly": true,
@@ -976,7 +1079,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -985,7 +1089,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -994,7 +1099,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1003,7 +1109,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1012,7 +1119,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1021,7 +1129,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1030,7 +1139,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1039,7 +1149,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1048,7 +1159,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1057,7 +1169,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1066,7 +1179,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1075,7 +1189,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1084,7 +1199,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1093,7 +1209,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1102,7 +1219,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1113,7 +1231,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1129,7 +1248,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1138,7 +1258,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1147,7 +1268,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1156,7 +1278,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1165,7 +1288,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1174,7 +1298,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1183,7 +1308,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1192,7 +1318,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1201,7 +1328,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1210,7 +1338,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1219,7 +1348,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1228,7 +1358,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1237,7 +1368,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1246,7 +1378,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1255,7 +1388,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1266,7 +1400,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi33.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1282,7 +1417,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1291,7 +1427,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1300,7 +1437,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1309,7 +1447,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1318,7 +1457,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1327,7 +1467,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1336,7 +1477,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1345,7 +1487,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1354,7 +1497,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1363,7 +1507,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1372,7 +1517,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1381,7 +1527,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1390,7 +1537,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1399,7 +1547,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1408,7 +1557,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1419,7 +1569,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi43.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1435,7 +1586,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1444,7 +1596,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1453,7 +1606,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1462,7 +1616,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1471,7 +1626,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1480,7 +1636,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1489,7 +1646,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1498,7 +1656,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1507,7 +1666,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1516,7 +1676,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1525,7 +1686,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1534,7 +1696,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1543,7 +1706,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1552,7 +1716,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1561,7 +1726,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1572,27 +1738,60 @@
         ],
         "/sys/bus/i2c/drivers/at24/20-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0",
-                "devAddress": "20-0050",
-                "pcaChipAddress": "20-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT0_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT0_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 20-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 20-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 20-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 20-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT0_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1613,7 +1812,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1629,7 +1829,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot0/pcie_card0/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1647,27 +1848,60 @@
         ],
         "/sys/bus/i2c/drivers/at24/23-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3",
-                "devAddress": "23-0050",
-                "pcaChipAddress": "23-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT3_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT3_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 23-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 23-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 23-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 23-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT3_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1688,7 +1922,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1704,7 +1939,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1722,27 +1958,60 @@
         ],
         "/sys/bus/i2c/drivers/at24/24-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4",
-                "devAddress": "24-0051",
-                "pcaChipAddress": "24-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT4_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT4_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT4_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 24-0061 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 24-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 24-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT4_EXPANDER_PRSNT_N",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT4_EXPANDER_PRSNT_N",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT4_EXPANDER_PRSNT_N",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1763,7 +2032,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1779,7 +2049,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1797,27 +2068,60 @@
         ],
         "/sys/bus/i2c/drivers/at24/29-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10",
-                "devAddress": "29-0050",
-                "pcaChipAddress": "29-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT10_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT10_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 29-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 29-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "collection": {
+                        "ccin": ["2CE2", "58FF", "6B92", "6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 29-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 29-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1838,7 +2142,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1854,7 +2159,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1870,7 +2176,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1886,7 +2193,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1902,7 +2210,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1918,7 +2227,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1936,27 +2246,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/22-0052/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2/pcie_card2",
-                "devAddress": "22-0052",
-                "pcaChipAddress": "22-0062",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT2_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT2_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 22-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 22-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT2_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1978,26 +2310,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/25-0053/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6/pcie_card6",
-                "devAddress": "25-0053",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6/pcie_card6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT6_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT6_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 25-0053 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 25-0053 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT6_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2012,27 +2367,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/26-0052/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7",
-                "devAddress": "26-0052",
-                "pcaChipAddress": "26-0062",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT7_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT7_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 26-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 26-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2054,27 +2431,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/27-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9/pcie_card9",
-                "devAddress": "27-0050",
-                "pcaChipAddress": "27-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9/pcie_card9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT9_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT9_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 27-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 27-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2096,27 +2495,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/30-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11",
-                "devAddress": "30-0051",
-                "pcaChipAddress": "30-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT11_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT11_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 30-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 30-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2137,7 +2558,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2153,7 +2575,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2169,7 +2592,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2185,7 +2609,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2203,27 +2628,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/21-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1/pcie_card1",
-                "devAddress": "21-0051",
-                "pcaChipAddress": "21-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT1_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "3-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT1_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 21-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "3-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 21-0051 /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT1_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2245,27 +2692,49 @@
         ],
         "/sys/bus/i2c/drivers/at24/28-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8",
-                "devAddress": "28-0051",
-                "pcaChipAddress": "28-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT8_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
+                "replaceableAtRuntime": true,
                 "preAction": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT8_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 28-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 28-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
+                },
+                "postFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2286,7 +2755,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2302,7 +2772,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2318,7 +2789,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2334,7 +2806,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -2352,7 +2825,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -2365,7 +2839,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2382,13 +2857,14 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "devAddress": "13-0050",
                 "busType": "i2c",
                 "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2403,7 +2879,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2420,13 +2897,14 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "devAddress": "13-0050",
                 "busType": "i2c",
                 "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2441,7 +2919,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2458,13 +2937,14 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "devAddress": "13-0050",
                 "busType": "i2c",
                 "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2479,7 +2959,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2496,13 +2977,14 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "devAddress": "13-0050",
                 "busType": "i2c",
                 "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2517,7 +2999,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2531,7 +3014,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2545,7 +3029,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2559,7 +3044,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2573,7 +3059,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2584,7 +3071,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2597,7 +3085,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/14-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -2610,7 +3099,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2627,13 +3117,14 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "devAddress": "14-0050",
                 "busType": "i2c",
                 "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2648,7 +3139,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2665,13 +3157,14 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "devAddress": "14-0050",
                 "busType": "i2c",
                 "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2686,7 +3179,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2703,13 +3197,14 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "devAddress": "14-0050",
                 "busType": "i2c",
                 "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2724,7 +3219,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2741,13 +3237,14 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "devAddress": "14-0050",
                 "busType": "i2c",
                 "driverType": "at24",
-                "concurrentlyMaintainable": true,
+                "replaceableAtRuntime": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2762,7 +3259,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2776,7 +3274,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2790,7 +3289,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2804,7 +3304,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2818,7 +3319,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2829,7 +3331,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2842,7 +3345,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-111/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2857,7 +3372,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2866,7 +3382,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2875,7 +3392,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2884,7 +3402,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2895,7 +3414,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-110/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2910,7 +3441,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2919,7 +3451,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2928,7 +3461,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2937,7 +3471,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2948,7 +3483,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-214/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2963,7 +3510,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2972,7 +3520,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2981,7 +3530,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2990,7 +3540,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm10/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3001,7 +3552,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-210/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3016,7 +3579,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3025,7 +3589,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3034,7 +3599,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3043,7 +3609,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm9/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3054,7 +3621,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-202/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3069,7 +3648,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3078,7 +3658,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3087,7 +3668,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3096,7 +3678,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm8/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3107,7 +3690,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-311/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3122,7 +3717,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3131,7 +3727,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3140,7 +3737,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3149,7 +3747,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm16/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3160,7 +3759,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-310/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3175,7 +3786,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3184,7 +3796,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3193,7 +3806,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3202,7 +3816,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm17/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3213,7 +3828,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-312/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3228,7 +3855,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3237,7 +3865,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3246,7 +3875,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3255,7 +3885,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm18/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3266,7 +3897,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-402/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3281,7 +3924,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3290,7 +3934,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3299,7 +3944,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3308,7 +3954,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm24/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3319,7 +3966,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-410/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3334,7 +3993,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3343,7 +4003,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3352,7 +4013,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3361,7 +4023,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm25/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3372,7 +4035,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-112/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3387,7 +4062,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3396,7 +4072,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3405,7 +4082,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3414,7 +4092,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3425,7 +4104,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-115/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3440,7 +4131,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3449,7 +4141,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3458,7 +4151,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3467,7 +4161,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3478,7 +4173,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-100/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3493,7 +4200,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3502,7 +4210,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3511,7 +4220,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3520,7 +4230,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3531,7 +4242,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-101/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3546,7 +4269,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3555,7 +4279,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3564,7 +4289,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3573,7 +4299,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3584,7 +4311,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-114/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3599,7 +4338,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3608,7 +4348,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3617,7 +4358,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3626,7 +4368,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3637,7 +4380,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-113/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3652,7 +4407,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3661,7 +4417,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3670,7 +4427,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3679,7 +4437,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3690,7 +4449,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-216/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3705,7 +4476,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3714,7 +4486,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3723,7 +4496,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3732,7 +4506,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm15/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3743,7 +4518,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-203/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3758,7 +4545,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3767,7 +4555,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3776,7 +4565,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3785,7 +4575,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm14/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3796,7 +4587,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-217/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3811,7 +4614,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3820,7 +4624,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3829,7 +4634,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3838,7 +4644,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm11/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3849,7 +4656,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-211/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3864,7 +4683,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3873,7 +4693,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3882,7 +4703,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3891,7 +4713,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm13/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3902,7 +4725,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-215/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3917,7 +4752,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3926,7 +4762,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3935,7 +4772,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3944,7 +4782,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm12/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3955,7 +4794,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-315/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -3970,7 +4821,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3979,7 +4831,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3988,7 +4841,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -3997,7 +4851,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm20/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4008,7 +4863,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-300/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4023,7 +4890,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4032,7 +4900,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4041,7 +4910,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4050,7 +4920,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm21/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4061,7 +4932,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-313/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4076,7 +4959,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4085,7 +4969,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4094,7 +4979,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4103,7 +4989,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm19/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4114,7 +5001,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-314/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4129,7 +5028,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4138,7 +5038,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4147,7 +5048,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4156,7 +5058,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm22/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4167,7 +5070,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-301/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4182,7 +5097,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4191,7 +5107,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4200,7 +5117,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4209,7 +5127,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm23/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4220,7 +5139,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-417/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4235,7 +5166,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4244,7 +5176,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4253,7 +5186,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4262,7 +5196,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm27/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4273,7 +5208,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-403/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4288,7 +5235,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4297,7 +5245,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4306,7 +5255,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4315,7 +5265,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm30/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4326,7 +5277,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-416/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4341,7 +5304,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4350,7 +5314,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4359,7 +5324,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4368,7 +5334,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm31/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4379,7 +5346,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-411/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4394,7 +5373,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4403,7 +5383,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4412,7 +5393,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4421,7 +5403,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm29/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4432,7 +5415,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-415/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4447,7 +5442,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4456,7 +5452,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4465,7 +5462,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4474,7 +5472,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm28/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4485,7 +5484,19 @@
         ],
         "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM1_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-414/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -4500,7 +5511,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4509,7 +5521,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4518,7 +5531,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -4527,7 +5541,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm26/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
diff --git a/config/ibm/50001002.json b/configuration/ibm/50001002.json
similarity index 68%
rename from config/ibm/50001002.json
rename to configuration/ibm/50001002.json
index 0f5a0ab..6699efa 100644
--- a/config/ibm/50001002.json
+++ b/configuration/ibm/50001002.json
@@ -1,4 +1,6 @@
 {
+    "devTree": "conf-aspeed-bmc-ibm-rainier-1s4u.dtb",
+    "backupRestoreConfigPath": "/usr/share/vpd/backup_restore_50001002.json",
     "commonInterfaces": {
         "xyz.openbmc_project.Inventory.Decorator.Asset": {
             "PartNumber": {
@@ -39,7 +41,8 @@
     "frus": {
         "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
@@ -52,7 +55,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -61,7 +65,8 @@
                 }
             },
             {
-                "inventoryPath": "/system",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "isSystemVpd": true,
                 "copyRecords": ["VSYS"],
@@ -90,7 +95,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "isSystemVpd": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Chassis": {
@@ -106,24 +112,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.Control.Host.PCIeLink": null,
-                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
-                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI adapter"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -140,7 +130,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -157,7 +148,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -174,7 +166,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -191,7 +184,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -208,7 +202,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -224,7 +219,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -240,7 +236,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -251,7 +248,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -262,7 +260,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -273,7 +272,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/powersupply3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -284,7 +284,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -314,7 +315,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -344,7 +346,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -374,7 +377,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/fan4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "synthesized": true,
@@ -404,7 +408,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/tod_battery",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tod_battery",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Battery": null,
                     "com.ibm.ipzvpd.Location": {
@@ -416,59 +421,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-0 P0 OP3B"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-0 P0 OP3A"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T2"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-0 P1 OP0B"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-T3"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "Connector for OpenCAPI Port DCM-0 P1 OP0A"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -481,7 +435,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -494,7 +449,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -507,7 +463,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -520,7 +477,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -533,7 +491,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -546,7 +505,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -559,7 +519,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -572,7 +533,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector15",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -585,7 +547,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector17",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -598,7 +561,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/connector18",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -611,7 +575,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -625,7 +590,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0/media0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0/media0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -639,7 +605,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0/rdx_power_connector",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0/rdx_power_connector",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -653,7 +620,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/rdx0/rdx_usb_connector",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/rdx0/rdx_usb_connector",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
                 "extraInterfaces": {
@@ -669,7 +637,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Bmc": null,
                     "com.ibm.ipzvpd.Location": {
@@ -681,7 +650,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -703,7 +673,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -725,7 +696,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -738,7 +710,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/displayport0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -751,7 +724,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/ebmc_card_bmc/usb1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -766,7 +740,16 @@
         ],
         "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/tpm_wilson",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tpm_wilson",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "CPU_TPM_CARD_PRESENT_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Tpm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -780,7 +763,16 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/base_op_panel_blyth",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "BLYTH_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
+                },
                 "essentialFru": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
@@ -795,25 +787,38 @@
         ],
         "/sys/bus/i2c/drivers/at24/7-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/lcd_op_panel_hill",
-                "devAddress": "7-0051",
-                "driverType": "at24",
-                "busType": "i2c",
-                "presence": {
-                    "pollingRequired": true,
-                    "pin": "RUSSEL_OPPANEL_PRESENCE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/lcd_op_panel_hill",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "pollingRequired": {
+                    "hotPlugging": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        }
+                    }
                 },
                 "preAction": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 0,
-                    "gpioI2CAddress": "0-0020"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "RUSSEL_OPPANEL_PRESENCE_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 7-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "RUSSEL_FW_I2C_ENABLE_N",
-                    "value": 1,
-                    "gpioI2CAddress": "0-0020"
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "RUSSEL_FW_I2C_ENABLE_N",
+                            "value": 1
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Panel": null,
@@ -828,7 +833,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vdd_vrm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Vrm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -842,7 +848,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
                 "cpuType": "primary",
                 "powerOffOnly": true,
@@ -859,7 +866,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -868,7 +876,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -877,7 +886,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -886,7 +896,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -895,7 +906,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -904,7 +916,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -913,7 +926,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -922,7 +936,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -931,7 +946,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -940,7 +956,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -949,7 +966,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -958,7 +976,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -967,7 +986,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -976,7 +996,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -985,7 +1006,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -996,7 +1018,8 @@
         ],
         "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
                 "powerOffOnly": true,
                 "offset": 196608,
@@ -1012,7 +1035,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1021,7 +1045,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1030,7 +1055,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1039,7 +1065,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1048,7 +1075,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1057,7 +1085,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1066,7 +1095,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1075,7 +1105,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1084,7 +1115,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1093,7 +1125,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1102,7 +1135,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1111,7 +1145,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1120,7 +1155,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1129,7 +1165,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1138,7 +1175,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -1149,27 +1187,39 @@
         ],
         "/sys/bus/i2c/drivers/at24/29-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10",
-                "devAddress": "29-0050",
-                "pcaChipAddress": "29-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT10_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
                 "preAction": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT10_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 29-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "postAction": {
+                    "collection": {
+                        "systemCmd": {
+                            "cmd": "echo 29-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT10_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1190,7 +1240,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1206,7 +1257,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["2CE2", "58FF", "6B92", "6B99"],
@@ -1222,7 +1274,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1238,7 +1291,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1254,7 +1308,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1270,7 +1325,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/c10_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1286,63 +1342,34 @@
                 }
             }
         ],
-        "/sys/bus/i2c/drivers/at24/25-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6/pcie_card6",
-                "devAddress": "25-0053",
-                "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT6_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "preAction": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "postActionFail": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    },
-                    "xyz.openbmc_project.Inventory.Item": {
-                        "PrettyName": "OpenCAPI adapter"
-                    }
-                }
-            }
-        ],
         "/sys/bus/i2c/drivers/at24/26-0052/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7/pcie_card7",
-                "devAddress": "26-0052",
-                "pcaChipAddress": "26-0062",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT7_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
                 "preAction": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT7_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 26-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT7_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1364,27 +1391,32 @@
         ],
         "/sys/bus/i2c/drivers/at24/27-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9/pcie_card9",
-                "devAddress": "27-0050",
-                "pcaChipAddress": "27-0060",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9/pcie_card9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT9_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
                 "preAction": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT9_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 27-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT9_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1406,27 +1438,32 @@
         ],
         "/sys/bus/i2c/drivers/at24/30-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11",
-                "devAddress": "30-0051",
-                "pcaChipAddress": "30-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT11_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
                 "preAction": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT11_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 30-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT11_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1447,7 +1484,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1463,7 +1501,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1479,7 +1518,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1495,7 +1535,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/c11_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1513,27 +1554,32 @@
         ],
         "/sys/bus/i2c/drivers/at24/28-0051/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8",
-                "devAddress": "28-0051",
-                "pcaChipAddress": "28-0061",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "replaceableAtStandby": true,
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
-                "presence": {
-                    "pin": "SLOT8_EXPANDER_PRSNT_N",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
-                },
                 "preAction": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 1,
-                    "gpioI2CAddress": "8-0061"
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "SLOT8_EXPANDER_PRSNT_N",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 28-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
                 },
-                "postActionFail": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 0,
-                    "gpioI2CAddress": "8-0061"
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "SLOT8_PRSNT_EN_RSVD",
+                            "value": 0
+                        }
+                    }
                 },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1554,7 +1600,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1570,7 +1617,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1586,7 +1634,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1602,7 +1651,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/c8_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "ccin": ["6B87"],
@@ -1620,7 +1670,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -1633,7 +1684,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -1650,12 +1702,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme0/dp0_drive0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0/dp0_drive0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1671,7 +1721,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -1688,12 +1739,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme1/dp0_drive1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1/dp0_drive1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1709,7 +1758,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -1726,12 +1776,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2/dp0_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1747,7 +1795,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -1764,12 +1813,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3/dp0_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1785,7 +1832,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -1802,12 +1850,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme4/dp0_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1823,7 +1869,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -1840,12 +1887,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme5/dp0_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1861,7 +1906,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -1878,12 +1924,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme6/dp0_drive6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme6/dp0_drive6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1899,7 +1943,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -1916,12 +1961,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme7/dp0_drive7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme7/dp0_drive7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "13-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -1937,7 +1980,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -1951,7 +1995,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -1965,7 +2010,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -1979,7 +2025,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -1993,7 +2040,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2007,7 +2055,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/dp0_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2021,7 +2070,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2032,7 +2082,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2043,7 +2094,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2054,7 +2106,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp0_cable3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp0_cable3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2067,7 +2120,8 @@
         ],
         "/sys/bus/i2c/drivers/at24/14-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
                     "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
@@ -2080,7 +2134,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2097,12 +2152,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme0/dp1_drive0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme0/dp1_drive0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2118,7 +2171,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2135,12 +2189,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme1/dp1_drive1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme1/dp1_drive1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2156,7 +2208,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2173,12 +2226,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme2/dp1_drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2194,7 +2245,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2211,12 +2263,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme3/dp1_drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2232,7 +2282,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2249,12 +2300,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme4/dp1_drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2270,7 +2319,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2287,12 +2337,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme5/dp1_drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2308,7 +2356,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2325,12 +2374,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme6/dp1_drive6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme6/dp1_drive6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2346,7 +2393,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "com.ibm.Control.Host.PCIeLink": null,
@@ -2363,12 +2411,10 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme7/dp1_drive7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/nvme7/dp1_drive7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "embedded": false,
-                "devAddress": "14-0050",
-                "busType": "i2c",
-                "driverType": "at24",
                 "concurrentlyMaintainable": true,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
@@ -2384,7 +2430,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2398,7 +2445,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2412,7 +2460,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2426,7 +2475,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2440,7 +2490,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2454,7 +2505,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane1/dp1_connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Connector": null,
@@ -2468,7 +2520,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2479,7 +2532,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2490,7 +2544,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2501,7 +2556,8 @@
                 }
             },
             {
-                "inventoryPath": "/cables/dp1_cable3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/cables/dp1_cable3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "noprime": true,
                 "extraInterfaces": {
@@ -2514,7 +2570,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-111/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2529,7 +2598,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2538,7 +2608,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2547,7 +2618,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2556,7 +2628,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm0/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2567,7 +2640,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-110/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2582,7 +2668,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2591,7 +2678,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2600,7 +2688,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2609,7 +2698,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm1/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2620,7 +2710,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-112/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2635,7 +2738,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2644,7 +2748,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2653,7 +2758,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2662,7 +2768,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm2/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2673,7 +2780,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-115/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2688,7 +2808,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2697,7 +2818,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2706,7 +2828,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2715,7 +2838,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm4/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2726,7 +2850,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-100/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2741,7 +2878,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2750,7 +2888,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2759,7 +2898,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2768,7 +2908,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm5/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2779,7 +2920,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-101/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2794,7 +2948,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2803,7 +2958,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2812,7 +2968,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2821,7 +2978,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm7/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2832,7 +2990,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-114/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2847,7 +3018,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2856,7 +3028,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2865,7 +3038,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2874,7 +3048,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm6/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2885,7 +3060,20 @@
         ],
         "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "P10_DCM0_PRES",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-113/new_device"
+                        }
+                    }
+                },
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item.Dimm": null,
                     "com.ibm.ipzvpd.Location": {
@@ -2900,7 +3088,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit0",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2909,7 +3098,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit1",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2918,7 +3108,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit2",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
@@ -2927,7 +3118,8 @@
                 }
             },
             {
-                "inventoryPath": "/system/chassis/motherboard/dimm3/unit3",
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
                 "inherit": false,
                 "extraInterfaces": {
                     "xyz.openbmc_project.Inventory.Item": {
diff --git a/configuration/ibm/50003000.json b/configuration/ibm/50003000.json
new file mode 100644
index 0000000..f47ffc9
--- /dev/null
+++ b/configuration/ibm/50003000.json
@@ -0,0 +1,8514 @@
+{
+    "devTree": "conf-aspeed-bmc-ibm-everest.dtb",
+    "backupRestoreConfigPath": "/usr/share/vpd/backup_restore_50003000.json",
+    "commonInterfaces": {
+        "xyz.openbmc_project.Inventory.Decorator.Asset": {
+            "PartNumber": {
+                "recordName": "VINI",
+                "keywordName": "PN"
+            },
+            "SerialNumber": {
+                "recordName": "VINI",
+                "keywordName": "SN"
+            },
+            "SparePartNumber": {
+                "recordName": "VINI",
+                "keywordName": "FN"
+            },
+            "Model": {
+                "recordName": "VINI",
+                "keywordName": "CC"
+            },
+            "BuildDate": {
+                "recordName": "VR10",
+                "keywordName": "DC",
+                "encoding": "DATE"
+            }
+        }
+    },
+    "muxes": [
+        {
+            "i2bus": "4",
+            "deviceaddress": "0xE0",
+            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/4-0070/hold_idle"
+        },
+        {
+            "i2bus": "5",
+            "deviceaddress": "0xE0",
+            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/5-0070/hold_idle"
+        },
+        {
+            "i2bus": "6",
+            "deviceaddress": "0xE0",
+            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/6-0070/hold_idle"
+        }
+    ],
+    "frus": {
+        "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "isSystemVpd": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System backplane"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Oscillator Reference Clock"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "isSystemVpd": true,
+                "copyRecords": ["VSYS"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.System": null,
+                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
+                        "SerialNumber": {
+                            "recordName": "VSYS",
+                            "keywordName": "SE"
+                        },
+                        "Model": {
+                            "recordName": "VSYS",
+                            "keywordName": "TM"
+                        },
+                        "SubModel": {
+                            "recordName": "VSYS",
+                            "keywordName": "BR"
+                        }
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Umts"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "isSystemVpd": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Chassis": {
+                        "Type": "xyz.openbmc_project.Inventory.Item.Chassis.ChassisType.RackMount"
+                    },
+                    "xyz.openbmc_project.Inventory.Item.Global": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Chassis"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C2"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C3"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C4"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C5"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C6"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C7"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C8"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C9"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C10"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C11"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.OEM"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 2 (front)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 12
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 2 (front)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "synthesized": true,
+                "extraInterfaces": {
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-E0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "synthesized": true,
+                "extraInterfaces": {
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-E1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "synthesized": true,
+                "extraInterfaces": {
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-E2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "synthesized": true,
+                "extraInterfaces": {
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-E3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T2"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T3"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T4"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 4"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T5"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 5"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Bmc": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "eBMC card assembly"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/ethernet0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T2"
+                    },
+                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
+                        "MACAddress": {
+                            "recordName": "VCFG",
+                            "keywordName": "Z0",
+                            "encoding": "MAC"
+                        }
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "HMC port 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/ethernet1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T3"
+                    },
+                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
+                        "MACAddress": {
+                            "recordName": "VCFG",
+                            "keywordName": "Z1",
+                            "encoding": "MAC"
+                        }
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "HMC port 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/usb2_conn0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 1 (rear)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/usb2_conn1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 2 (rear)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/usb3_conn0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T4"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 2.0 port 1 (rear)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/usb3_conn1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T5"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 2.0 port 2 (rear)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/tod_battery",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Battery": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-E0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Time-of-day battery"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/9-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c54",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C54"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 3"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/9-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c55",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C55"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 3"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c57",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C57"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 3"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/9-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c58",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C58"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Shared voltage regulator module"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/10-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c12",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C12"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 1"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c13",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C13"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 1"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/10-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c15",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C15"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 1"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/10-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c16",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C16"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Shared voltage regulator module"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/11-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c59",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C59"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "I/O and standby voltage regulator module"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/11-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c60",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C60"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 0"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/11-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c62",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C62"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 0"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/11-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c63",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C63"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 0"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/13-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c17",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C17"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "I/O and standby voltage regulator module"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c18",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C18"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 2"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/13-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c20",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C20"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 2"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/13-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-vrm-c21",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C21"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 2"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tpm",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-tpm",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Tpm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C96"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Trusted platform module card"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C61"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C61"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi33.0/eeprom",
+                "cpuType": "primary",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C14"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi43.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C14"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi52.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi53.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C19"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi62.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi63.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C19"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi72.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi73.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C56"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi82.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi83.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C56"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/27-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-dasd",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Drive backplane"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme0/drive0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C0"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 1
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme1/drive1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C1"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 2
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C2"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme2/drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C2"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 3
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C3"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme3/drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C3"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 4
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C4"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 4"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme4/drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C4"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 5
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 4"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C5"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 5"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme5/drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C5"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 6
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 5"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C6"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 6"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme6/drive6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C6"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 7
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 6"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C7"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 7"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme7/drive7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C7"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 8
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 7"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C8"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 8"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme8/drive8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C8"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 9
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 8"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C9"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 9"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme9/drive9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C9"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 10
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 9"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/dp_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 1 (front)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/dp_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 2 (front)"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/28-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/panel1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "essentialFru": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-lcd-op",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Panel": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-D1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Control panel display"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/29-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/panel0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "essentialFru": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-base-op",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Panel": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-D0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Control panel"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/31-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "handlePresence": false,
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-fan3",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Fan": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-A0"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/32-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "handlePresence": false,
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-fan2",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Fan": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-A1"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/33-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "handlePresence": false,
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-fan1",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Fan": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-A2"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/34-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "handlePresence": false,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-fan0",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Fan": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-A3"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/16-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card1",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card1",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 16-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 16-0052 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 16-0062 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 16-0062 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card1",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card1",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card1",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C1"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 16,
+                        "Address": 82
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 1
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C1-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C1-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/17-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card2",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card2",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 17-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 17-0050 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 17-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 17-0060 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card2",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card2",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card2",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C2"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 17,
+                        "Address": 80
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 2
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C2-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C2-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/18-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card3",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card3",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 18-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 18-0051 > /sys/bus/i2c/drivers/leds-pca955x24/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 18-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 18-0061 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card3",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card3",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card3",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C3"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 18,
+                        "Address": 81
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 3
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C3-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C3-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/19-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card4",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card4",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 19-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 19-0050 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 19-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 19-0060 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card4",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card4",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card4",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C4"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 19,
+                        "Address": 80
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 4
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C4-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C4-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/20-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot5/pcie_card5",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card5",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card5",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 20-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 20-0051 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 20-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 20-0061 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card5",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card5",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card5",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C5"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 20,
+                        "Address": 81
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 5
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot5/pcie_card5/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C5-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot5/pcie_card5/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C5-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/21-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6/pcie_card6",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card6",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card6",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 21-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 21-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card6",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card6",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card6",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C6"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 21,
+                        "Address": 81
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 6
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/22-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card7",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card7",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 22-0053 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 22-0063 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 22-0063 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 22-0053 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card7",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card7",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card7",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C7"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 22,
+                        "Address": 83
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 7
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C7-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C7-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/23-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card8",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card8",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 23-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 23-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 23-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 23-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card8",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card8",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card8",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C8"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 23,
+                        "Address": 80
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 8
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C8-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C8-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/24-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9/pcie_card9",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card9",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card9",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 24-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card9",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card9",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C9"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 24,
+                        "Address": 82
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 9
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/25-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card10",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card10",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 25-0053 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 25-0063 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 25-0063 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 25-0053 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card10",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card10",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card10",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C10"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 25,
+                        "Address": 83
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 10
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C10-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C10-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/26-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card11",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card11",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 26-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 26-0061 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 26-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 26-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card11",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card11",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card11",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C11"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 26,
+                        "Address": 81
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 11
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C11-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C11-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-300/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C22"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 0"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-301/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C23"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 1"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-310/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C24"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 2"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-312/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C25"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 3"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-313/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C26"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 4"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-315new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C27"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 5"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-311/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C28"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 6"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-314/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C29"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 7"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-416/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C30"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 8"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-417/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C31"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 9"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-411/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C32"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 10"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-415/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C33"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 11"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-414/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C34"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 12"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-410/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C35"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 13"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-403/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C36"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 14"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-402/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C37"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 15"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/500-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-500/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C38"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 16"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/501-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-501/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C39"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 17"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/510-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-510/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C40"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 18"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/512-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-512/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C41"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 19"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/515-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-515/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C42"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 20"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/513-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-513/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C43"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 21"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/511-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-511/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C44"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 22"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/514-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-514/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C45"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 23"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/616-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-616/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C46"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 24"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/611-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-611/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C47"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 25"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/615-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-615/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C48"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 26"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/617-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-617/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C49"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 27"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/614-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-614/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C50"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 28"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/610-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-610/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C51"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 29"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/602-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-602/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C52"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 30"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/603-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-603/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C53"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 31"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/816-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-816/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C64"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 32"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/811-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-811/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C65"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 33"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/815-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-815/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C66"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 34"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/817-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-817/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C67"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 35"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/814-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-814/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C68"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 36"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/810-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-810/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C69"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 37"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/802-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-802/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C70"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 38"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/803-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-803/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C71"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Module 39"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/701-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-701/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C72"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 40"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/700-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-700/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C73"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 41"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/710-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-710/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C74"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 42"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/712-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-712/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C75"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 43"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/715-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-715/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C76"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 44"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/713-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-713/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C77"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 45"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/711-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-711/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C78"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 46"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/714-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-714/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C79"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 47"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-216/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C80"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 48"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-217/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C81"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 49"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-211/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C82"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 50"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-215/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C83"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 51"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-214/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C84"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 52"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-210/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C85"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 53"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-203/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C86"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 54"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-202/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C87"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 55"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-100/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C88"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 56"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-101/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C89"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 57"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-110/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C90"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 58"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-112/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C91"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 59"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-113/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C92"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 60"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-115/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C93"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 61"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-111/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C94"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 62"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-114/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C95"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 63"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ]
+    }
+}
diff --git a/configuration/ibm/50003000_v2.json b/configuration/ibm/50003000_v2.json
new file mode 100644
index 0000000..e12b3df
--- /dev/null
+++ b/configuration/ibm/50003000_v2.json
@@ -0,0 +1,8390 @@
+{
+    "devTree": "conf-aspeed-bmc-ibm-everest.dtb",
+    "backupRestoreConfigPath": "/usr/share/vpd/backup_restore_50003000.json",
+    "commonInterfaces": {
+        "xyz.openbmc_project.Inventory.Decorator.Asset": {
+            "PartNumber": {
+                "recordName": "VINI",
+                "keywordName": "PN"
+            },
+            "SerialNumber": {
+                "recordName": "VINI",
+                "keywordName": "SN"
+            },
+            "SparePartNumber": {
+                "recordName": "VINI",
+                "keywordName": "FN"
+            },
+            "Model": {
+                "recordName": "VINI",
+                "keywordName": "CC"
+            },
+            "BuildDate": {
+                "recordName": "VR10",
+                "keywordName": "DC",
+                "encoding": "DATE"
+            }
+        }
+    },
+    "muxes": [
+        {
+            "i2bus": "4",
+            "deviceaddress": "0xE0",
+            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/4-0070/hold_idle"
+        },
+        {
+            "i2bus": "5",
+            "deviceaddress": "0xE0",
+            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/5-0070/hold_idle"
+        },
+        {
+            "i2bus": "6",
+            "deviceaddress": "0xE0",
+            "holdidlepath": "/sys/bus/i2c/drivers/pca954x/6-0070/hold_idle"
+        }
+    ],
+    "frus": {
+        "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "isSystemVpd": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System backplane"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Oscillator Reference Clock"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "isSystemVpd": true,
+                "copyRecords": ["VSYS"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.System": null,
+                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
+                        "SerialNumber": {
+                            "recordName": "VSYS",
+                            "keywordName": "SE"
+                        },
+                        "Model": {
+                            "recordName": "VSYS",
+                            "keywordName": "TM"
+                        },
+                        "SubModel": {
+                            "recordName": "VSYS",
+                            "keywordName": "BR"
+                        }
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Umts"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "isSystemVpd": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Chassis": {
+                        "Type": "xyz.openbmc_project.Inventory.Item.Chassis.ChassisType.RackMount"
+                    },
+                    "xyz.openbmc_project.Inventory.Item.Global": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Chassis"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C2"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C3"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C4"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C5"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C6"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C7"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C8"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C9"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C10"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.FullLength"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C11"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.OEM"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 2 (front)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot12/pcie_card12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 12
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 2 (front)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "synthesized": true,
+                "extraInterfaces": {
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-E0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "synthesized": true,
+                "extraInterfaces": {
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-E1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "synthesized": true,
+                "extraInterfaces": {
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-E2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "synthesized": true,
+                "extraInterfaces": {
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-E3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T2"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T3"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T4"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 4"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/connector5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-T5"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Open CAPI Conn 5"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Bmc": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "eBMC card assembly"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/ethernet0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T2"
+                    },
+                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
+                        "MACAddress": {
+                            "recordName": "VCFG",
+                            "keywordName": "Z0",
+                            "encoding": "MAC"
+                        }
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "HMC port 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/ethernet1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T3"
+                    },
+                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
+                        "MACAddress": {
+                            "recordName": "VCFG",
+                            "keywordName": "Z1",
+                            "encoding": "MAC"
+                        }
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "HMC port 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/usb2_conn0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 1 (rear)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/usb2_conn1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 2 (rear)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/usb3_conn0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T4"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 2.0 port 1 (rear)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/usb3_conn1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-T5"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 2.0 port 2 (rear)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/bmc/tod_battery",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Battery": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C0-E0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Time-of-day battery"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/9-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C54"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 3"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/9-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C55"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 3"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C57"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 3"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/9-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C58"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Shared voltage regulator module"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/10-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C12"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 1"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C13"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 1"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/10-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C15"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 1"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/10-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C16"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Shared voltage regulator module"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/11-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C59"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "I/O and standby voltage regulator module"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/11-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C60"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 0"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/11-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C62"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 0"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/11-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C63"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 0"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/13-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C17"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "I/O and standby voltage regulator module"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C18"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 2"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/13-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C20"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor voltage regulator module for system processor module 2"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/13-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/vrm7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "readOnly": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C21"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Miscellaneous voltage regulator module for system processor module 2"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/tpm",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-tpm",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Tpm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C96"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Trusted platform module card"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi13.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C61"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi23.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C61"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm0/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi33.0/eeprom",
+                "cpuType": "primary",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C14"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi43.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C14"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi52.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi53.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C19"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi62.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi63.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C19"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm2/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi72.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi73.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C56"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/spi/drivers/at25/spi82.0/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "redundantEeprom": "/sys/bus/spi/drivers/at25/spi83.0/eeprom",
+                "offset": 196608,
+                "powerOffOnly": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C56"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "System processor module 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Quad"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "High speed SMP/OpenCAPI Link"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Controller Channel"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Processor To Memory Buffer Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Nest Memory Management Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Accelerator"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Interface Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "POWER Accelerator Unit Controller"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCI Express controllers"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe host bridge (PHB)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OBUS End Point"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu1/unit14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Cache-Only Core"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/27-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-dasd",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Drive backplane"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme0/drive0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C0"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 1
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 0"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme1/drive1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C1"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 2
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 1"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C2"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme2/drive2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C2"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 3
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 2"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C3"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme3/drive3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C3"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 4
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 3"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C4"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 4"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme4/drive4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C4"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 5
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 4"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C5"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 5"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme5/drive5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C5"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 6
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 5"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C6"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 6"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme6/drive6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C6"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 7
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 6"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C7"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 7"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme7/drive7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C7"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 8
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 7"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C8"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 8"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme8/drive8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C8"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 9
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 8"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "com.ibm.Control.Host.PCIeLink": null,
+                    "xyz.openbmc_project.State.Decorator.PowerState": "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": {
+                        "SlotType": "xyz.openbmc_project.Inventory.Item.PCIeSlot.SlotTypes.U_2"
+                    },
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C9"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 9"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/nvme9/drive9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "embedded": false,
+                "replaceableAtRuntime": true,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-C9"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 10
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "NVMe U.2 drive 9"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/dp_connector0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 1 (front)"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/dp_connector1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P1-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "USB 3.0 port 2 (front)"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/28-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/panel1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "essentialFru": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-lcd-op",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Panel": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-D1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Control panel display"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/29-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dasd_backplane/panel0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "essentialFru": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-base-op",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Panel": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-D0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Control panel"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/31-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "handlePresence": false,
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-fan3",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Fan": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-A0"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/32-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "handlePresence": false,
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-fan2",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Fan": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-A1"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/33-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "handlePresence": false,
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-fan1",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Fan": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-A2"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/34-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "handlePresence": false,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-fan0",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Fan": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-A3"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/16-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card1",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card1",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 16-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 16-0062 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 16-0062 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 16-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card1",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card1",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card1",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C1"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 16,
+                        "Address": 82
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 1
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C1-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot1/pcie_card1/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C1-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/17-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card2",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card2",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 17-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 17-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 17-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 17-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card2",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card2",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card2",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C2"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 17,
+                        "Address": 80
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 2
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C2-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C2-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/18-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card3",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card3",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 18-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 18-0061 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 18-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 18-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card3",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card3",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card3",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C3"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 18,
+                        "Address": 81
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 3
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C3-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot3/pcie_card3/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C3-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/19-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card4",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card4",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 19-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 19-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 19-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 19-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card4",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card4",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card4",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C4"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 19,
+                        "Address": 80
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 4
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C4-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot4/pcie_card4/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C4-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/20-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot5/pcie_card5",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card5",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card5",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 20-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 20-0061 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 20-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 20-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card5",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card5",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card5",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C5"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 20,
+                        "Address": 81
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 5
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot5/pcie_card5/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C5-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot5/pcie_card5/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C5-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/21-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot6/pcie_card6",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card6",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card6",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 21-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 21-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card6",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card6",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card6",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C6"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 21,
+                        "Address": 81
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 6
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/22-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card7",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card7",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 22-0053 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 22-0063 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 22-0063 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 22-0053 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card7",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card7",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card7",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C7"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 22,
+                        "Address": 83
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 7
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C7-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot7/pcie_card7/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C7-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/23-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card8",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card8",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 23-0050 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 23-0060 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 23-0060 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 23-0050 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card8",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card8",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card8",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C8"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 23,
+                        "Address": 80
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 8
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C8-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot8/pcie_card8/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C8-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/24-0052/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot9/pcie_card9",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card9",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card9",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24-0052 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 24-0052 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card9",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card9",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card9",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C9"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 24,
+                        "Address": 82
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 9
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x8 adapter"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/25-0053/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card10",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card10",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 25-0053 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 25-0063 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 25-0063 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 25-0053 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card10",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card10",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card10",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C10"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 25,
+                        "Address": 83
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 10
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C10-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C10-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/26-0051/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11",
+                "replaceableAtStandby": true,
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "replaceableAtRuntime": true,
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "expander-cable-card11",
+                            "value": 0
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card11",
+                            "value": 1
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 26-0051 > /sys/bus/i2c/drivers/at24/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 26-0061 > /sys/bus/i2c/drivers/leds-pca955x/unbind"
+                        }
+                    }
+                },
+                "postAction": {
+                    "collection": {
+                        "ccin": ["6B99"],
+                        "systemCmd": {
+                            "cmd": "echo 26-0061 > /sys/bus/i2c/drivers/leds-pca955x/bind"
+                        }
+                    },
+                    "deletion": {
+                        "systemCmd": {
+                            "cmd": "echo 26-0051 > /sys/bus/i2c/drivers/at24/unbind"
+                        },
+                        "setGpio": {
+                            "pin": "presence-cable-card11",
+                            "value": 0
+                        }
+                    }
+                },
+                "PostFailAction": {
+                    "collection": {
+                        "setGpio": {
+                            "pin": "presence-cable-card11",
+                            "value": 0
+                        }
+                    },
+                    "deletion": {
+                        "setGpio": {
+                            "pin": "presence-cable-card11",
+                            "value": 0
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
+                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C11"
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.I2CDevice": {
+                        "Bus": 26,
+                        "Address": 81
+                    },
+                    "xyz.openbmc_project.Inventory.Decorator.Slot": {
+                        "SlotNumber": 11
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "PCIe4 x16 or PCIe5 x8 adapter"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/cxp_top",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C11-T0"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot11/pcie_card11/cxp_bot",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "noprime": true,
+                "ccin": ["6B99"],
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Connector": null,
+                    "xyz.openbmc_project.Inventory.Connector.Port": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C11-T1"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "CXP Port"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-300/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C22"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 0"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-301/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C23"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 1"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-310/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C24"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 2"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-312/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C25"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 3"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-313/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C26"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 4"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-315new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C27"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 5"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-311/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C28"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 6"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-314/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C29"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 7"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-416/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C30"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 8"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-417/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C31"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 9"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-411/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C32"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 10"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-415/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C33"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 11"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-414/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C34"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 12"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-410/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C35"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 13"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-403/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C36"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 14"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp1",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-402/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C37"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 15"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/500-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-500/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C38"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 16"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm16/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/501-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-501/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C39"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 17"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm17/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/510-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-510/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C40"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 18"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm18/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/512-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-512/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C41"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 19"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm19/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/515-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-515/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C42"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 20"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm20/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/513-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-513/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C43"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 21"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm21/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/511-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-511/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C44"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 22"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm22/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/514-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-514/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C45"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 23"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm23/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/616-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-616/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C46"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 24"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm24/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/611-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-611/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C47"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 25"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm25/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/615-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-615/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C48"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 26"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm26/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/617-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-617/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C49"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 27"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm27/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/614-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-614/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C50"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 28"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm28/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/610-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-610/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C51"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 29"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm29/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/602-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-602/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C52"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 30"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm30/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/603-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp2",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-603/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C53"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 31"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm31/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/816-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-816/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C64"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 32"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm32/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/811-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-811/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C65"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 33"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm33/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/815-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-815/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C66"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 34"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm34/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/817-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-817/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C67"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 35"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm35/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/814-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-814/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C68"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 36"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm36/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/810-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-810/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C69"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 37"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm37/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/802-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-802/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C70"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 38"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm38/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/803-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-803/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C71"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory Module 39"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm39/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/701-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-701/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C72"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 40"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm40/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/700-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-700/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C73"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 41"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm41/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/710-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-710/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C74"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 42"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm42/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/712-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-712/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C75"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 43"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm43/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/715-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-715/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C76"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 44"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm44/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/713-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-713/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C77"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 45"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm45/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/711-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-711/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C78"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 46"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm46/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/714-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp3",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-714/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C79"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 47"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm47/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-216/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C80"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 48"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm48/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-217/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C81"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 49"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm49/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-211/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C82"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 50"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm50/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-215/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C83"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 51"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm51/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-214/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C84"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 52"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm52/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-210/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C85"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 53"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm53/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-203/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C86"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 54"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm54/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-202/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C87"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 55"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm55/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-100/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C88"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 56"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm56/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-101/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C89"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 57"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm57/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-110/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C90"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 58"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm58/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-112/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C91"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 59"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm59/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-113/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C92"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 60"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm60/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-115/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C93"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 61"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm61/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-111/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C94"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 62"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm62/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ],
+        "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "preAction": {
+                    "collection": {
+                        "gpioPresence": {
+                            "pin": "presence-cp0",
+                            "value": 0
+                        },
+                        "systemCmd": {
+                            "cmd": "echo 24c32 0x50 > /sys/bus/i2c/devices/i2c-114/new_device"
+                        }
+                    }
+                },
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
+                    "com.ibm.ipzvpd.Location": {
+                        "LocationCode": "Ufcs-P0-C95"
+                    },
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Memory module 63"
+                    },
+                    "xyz.openbmc_project.State.Decorator.Availability": {
+                        "Available": false
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63/unit0",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "OpenCAPI Memory Buffer"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63/unit1",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "DDR Memory Port"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63/unit2",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Control Device"
+                    }
+                }
+            },
+            {
+                "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm63/unit3",
+                "serviceName": "xyz.openbmc_project.Inventory.Manager",
+                "inherit": false,
+                "extraInterfaces": {
+                    "xyz.openbmc_project.Inventory.Item": {
+                        "PrettyName": "Onboard Memory Power Management IC"
+                    }
+                }
+            }
+        ]
+    }
+}
diff --git a/configuration/ibm/backup_restore_50001001.json b/configuration/ibm/backup_restore_50001001.json
new file mode 100644
index 0000000..e3d6adb
--- /dev/null
+++ b/configuration/ibm/backup_restore_50001001.json
@@ -0,0 +1,158 @@
+{
+    "source": {
+        "hardwarePath": "/sys/bus/i2c/drivers/at24/8-0050/eeprom"
+    },
+    "destination": {
+        "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard"
+    },
+    "type": "IPZ",
+    "backupMap": [
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "BR",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "BR",
+            "defaultValue": [32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "TM",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "TM",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "SE",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "SE",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "SU",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "SU",
+            "defaultValue": [32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "RB",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "RB",
+            "defaultValue": [32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "WN",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "WN",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "RG",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "RG",
+            "defaultValue": [32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "FV",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "FV",
+            "defaultValue": [
+                32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+                32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32
+            ],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VCEN",
+            "sourceKeyword": "FC",
+            "destinationRecord": "VCEN",
+            "destinationKeyword": "FC",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": false
+        },
+        {
+            "sourceRecord": "VCEN",
+            "sourceKeyword": "SE",
+            "destinationRecord": "VCEN",
+            "destinationKeyword": "SE",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "LXR0",
+            "sourceKeyword": "LX",
+            "destinationRecord": "LXR0",
+            "destinationKeyword": "LX",
+            "defaultValue": [0, 0, 0, 0, 0, 0, 0, 0],
+            "isPelRequired": true,
+            "isManufactureResetRequired": false
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "D0",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "D0",
+            "defaultValue": [0],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "D1",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "D1",
+            "defaultValue": [0],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "F0",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "F0",
+            "defaultValue": [0, 0, 0, 0, 0, 0, 0, 0],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "F5",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "F5",
+            "defaultValue": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "F6",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "F6",
+            "defaultValue": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        }
+    ]
+}
diff --git a/configuration/ibm/backup_restore_50003000.json b/configuration/ibm/backup_restore_50003000.json
new file mode 100644
index 0000000..e3d6adb
--- /dev/null
+++ b/configuration/ibm/backup_restore_50003000.json
@@ -0,0 +1,158 @@
+{
+    "source": {
+        "hardwarePath": "/sys/bus/i2c/drivers/at24/8-0050/eeprom"
+    },
+    "destination": {
+        "inventoryPath": "/xyz/openbmc_project/inventory/system/chassis/motherboard"
+    },
+    "type": "IPZ",
+    "backupMap": [
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "BR",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "BR",
+            "defaultValue": [32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "TM",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "TM",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "SE",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "SE",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "SU",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "SU",
+            "defaultValue": [32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "RB",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "RB",
+            "defaultValue": [32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "WN",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "WN",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "RG",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "RG",
+            "defaultValue": [32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VSYS",
+            "sourceKeyword": "FV",
+            "destinationRecord": "VSYS",
+            "destinationKeyword": "FV",
+            "defaultValue": [
+                32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+                32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32
+            ],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "VCEN",
+            "sourceKeyword": "FC",
+            "destinationRecord": "VCEN",
+            "destinationKeyword": "FC",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": false
+        },
+        {
+            "sourceRecord": "VCEN",
+            "sourceKeyword": "SE",
+            "destinationRecord": "VCEN",
+            "destinationKeyword": "SE",
+            "defaultValue": [32, 32, 32, 32, 32, 32, 32],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "LXR0",
+            "sourceKeyword": "LX",
+            "destinationRecord": "LXR0",
+            "destinationKeyword": "LX",
+            "defaultValue": [0, 0, 0, 0, 0, 0, 0, 0],
+            "isPelRequired": true,
+            "isManufactureResetRequired": false
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "D0",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "D0",
+            "defaultValue": [0],
+            "isPelRequired": true,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "D1",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "D1",
+            "defaultValue": [0],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "F0",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "F0",
+            "defaultValue": [0, 0, 0, 0, 0, 0, 0, 0],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "F5",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "F5",
+            "defaultValue": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        },
+        {
+            "sourceRecord": "UTIL",
+            "sourceKeyword": "F6",
+            "destinationRecord": "UTIL",
+            "destinationKeyword": "F6",
+            "defaultValue": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+            "isPelRequired": false,
+            "isManufactureResetRequired": true
+        }
+    ]
+}
diff --git a/config/ibm/vpd_inventory.json b/configuration/ibm/vpd_inventory.json
similarity index 100%
rename from config/ibm/vpd_inventory.json
rename to configuration/ibm/vpd_inventory.json
diff --git a/const.hpp b/const.hpp
deleted file mode 100644
index 7a2907d..0000000
--- a/const.hpp
+++ /dev/null
@@ -1,235 +0,0 @@
-#pragma once
-
-#include <cstdint>
-#include <filesystem>
-#include <iostream>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace constants
-{
-
-using RecordId = uint8_t;
-using RecordOffset = uint16_t;
-using RecordSize = uint16_t;
-using RecordType = uint16_t;
-using RecordLength = uint16_t;
-using KwSize = uint8_t;
-using PoundKwSize = uint16_t;
-using ECCOffset = uint16_t;
-using ECCLength = uint16_t;
-using LE2ByteData = uint16_t;
-using DataOffset = uint16_t;
-
-static constexpr auto NEXT_64_KB = 65536;
-static constexpr auto MAC_ADDRESS_LEN_BYTES = 6;
-static constexpr auto LAST_KW = "PF";
-static constexpr auto POUND_KW = '#';
-static constexpr auto POUND_KW_PREFIX = "PD_";
-static constexpr auto NUMERIC_KW_PREFIX = "N_";
-static constexpr auto UUID_LEN_BYTES = 16;
-static constexpr auto UUID_TIME_LOW_END = 8;
-static constexpr auto UUID_TIME_MID_END = 13;
-static constexpr auto UUID_TIME_HIGH_END = 18;
-static constexpr auto UUID_CLK_SEQ_END = 23;
-
-static constexpr auto MB_RESULT_LEN = 19;
-static constexpr auto MB_LEN_BYTES = 8;
-static constexpr auto MB_YEAR_END = 4;
-static constexpr auto MB_MONTH_END = 7;
-static constexpr auto MB_DAY_END = 10;
-static constexpr auto MB_HOUR_END = 13;
-static constexpr auto MB_MIN_END = 16;
-static constexpr auto SYSTEM_OBJECT = "/system/chassis/motherboard";
-static constexpr auto IBM_LOCATION_CODE_INF = "com.ibm.ipzvpd.Location";
-static constexpr auto XYZ_LOCATION_CODE_INF =
-    "xyz.openbmc_project.Inventory.Decorator.LocationCode";
-constexpr int IPZ_DATA_START = 11;
-constexpr uint8_t KW_VAL_PAIR_START_TAG = 0x84;
-constexpr uint8_t RECORD_END_TAG = 0x78;
-constexpr int UNEXP_LOCATION_CODE_MIN_LENGTH = 4;
-constexpr uint8_t EXP_LOCATIN_CODE_MIN_LENGTH = 17;
-static constexpr auto SE_KWD_LENGTH = 7;
-static constexpr auto INVALID_NODE_NUMBER = -1;
-static constexpr auto RAINIER_2U = "50001001.json";
-static constexpr auto RAINIER_2U_V2 = "50001001_v2.json";
-static constexpr auto RAINIER_4U = "50001000.json";
-static constexpr auto RAINIER_4U_V2 = "50001000_v2.json";
-static constexpr auto RAINIER_1S4U = "50001002.json";
-static constexpr auto EVEREST = "50003000.json";
-static constexpr auto EVEREST_V2 = "50003000_v2.json";
-static constexpr auto BONNELL = "50004000.json";
-static constexpr auto BLUERIDGE_2U = "60001001.json";
-static constexpr auto BLUERIDGE_2U_V2 = "60001001_v2.json";
-static constexpr auto BLUERIDGE_4U = "60001000.json";
-static constexpr auto BLUERIDGE_4U_V2 = "60001000_v2.json";
-static constexpr auto BLUERIDGE_1S4U = "60001002.json";
-static constexpr auto FUJI = "60002000.json";
-static constexpr auto FUJI_V2 = "60002000_v2.json";
-static constexpr auto HUYGENS = "70001000.json";
-
-constexpr uint8_t KW_VPD_START_TAG = 0x82;
-constexpr uint8_t KW_VPD_END_TAG = 0x78;
-constexpr uint8_t ALT_KW_VAL_PAIR_START_TAG = 0x90;
-constexpr uint8_t KW_VAL_PAIR_END_TAG = 0x79;
-constexpr auto MEMORY_VPD_START_TAG = "11S";
-constexpr int TWO_BYTES = 2;
-constexpr int KW_VPD_DATA_START = 0;
-constexpr auto MEMORY_VPD_DATA_START = 416;
-constexpr auto FORMAT_11S_LEN = 3;
-static constexpr auto PART_NUM_LEN = 7;
-static constexpr auto SERIAL_NUM_LEN = 12;
-static constexpr auto CCIN_LEN = 4;
-static constexpr auto CONVERT_MB_TO_KB = 1024;
-static constexpr auto CONVERT_GB_TO_KB = 1024 * 1024;
-
-static constexpr auto SPD_BYTE_2 = 2;
-static constexpr auto SPD_BYTE_3 = 3;
-static constexpr auto SPD_BYTE_4 = 4;
-static constexpr auto SPD_BYTE_6 = 6;
-static constexpr auto SPD_BYTE_12 = 12;
-static constexpr auto SPD_BYTE_13 = 13;
-static constexpr auto SPD_BYTE_18 = 18;
-static constexpr auto SPD_BYTE_234 = 234;
-static constexpr auto SPD_BYTE_235 = 235;
-static constexpr auto SPD_BYTE_BIT_0_3_MASK = 0x0F;
-static constexpr auto SPD_BYTE_MASK = 0xFF;
-
-static constexpr auto VALUE_0 = 0;
-static constexpr auto VALUE_1 = 1;
-static constexpr auto VALUE_2 = 2;
-static constexpr auto VALUE_3 = 3;
-static constexpr auto VALUE_4 = 4;
-static constexpr auto VALUE_5 = 5;
-static constexpr auto VALUE_6 = 6;
-static constexpr auto VALUE_7 = 7;
-static constexpr auto VALUE_8 = 8;
-static constexpr auto VALUE_10 = 10;
-static constexpr auto VALUE_100000 = 100000;
-
-static constexpr auto MASK_BYTE_BITS_6 = 0x40;
-static constexpr auto MASK_BYTE_BITS_7 = 0x80;
-static constexpr auto MASK_BYTE_BITS_01 = 0x03;
-static constexpr auto MASK_BYTE_BITS_345 = 0x38;
-static constexpr auto MASK_BYTE_BITS_012 = 0x07;
-static constexpr auto MASK_BYTE_BITS_567 = 0xE0;
-static constexpr auto MASK_BYTE_BITS_0123 = 0x0F;
-static constexpr auto MASK_BYTE_BITS_01234 = 0x1F;
-
-static constexpr auto SHIFT_BITS_0 = 0;
-static constexpr auto SHIFT_BITS_3 = 3;
-static constexpr auto SHIFT_BITS_5 = 5;
-
-static constexpr auto SPD_MODULE_TYPE_DDIMM = 0x0A;
-static constexpr auto SPD_DRAM_TYPE_DDR5 = 0x12;
-static constexpr auto SPD_DRAM_TYPE_DDR4 = 0x0C;
-
-constexpr auto pimPath = "/xyz/openbmc_project/inventory";
-constexpr auto pimIntf = "xyz.openbmc_project.Inventory.Manager";
-constexpr auto pimService = "xyz.openbmc_project.Inventory.Manager";
-constexpr auto kwdVpdInf = "com.ibm.ipzvpd.VINI";
-constexpr auto memVpdInf = "com.ibm.ipzvpd.VINI";
-constexpr auto ipzVpdInf = "com.ibm.ipzvpd.";
-constexpr auto offsetJsonDirectory = "/var/lib/vpd/";
-constexpr auto mapperObjectPath = "/xyz/openbmc_project/object_mapper";
-constexpr auto mapperInterface = "xyz.openbmc_project.ObjectMapper";
-constexpr auto mapperDestination = "xyz.openbmc_project.ObjectMapper";
-constexpr auto loggerService = "xyz.openbmc_project.Logging";
-constexpr auto loggerObjectPath = "/xyz/openbmc_project/logging";
-constexpr auto loggerCreateInterface = "xyz.openbmc_project.Logging.Create";
-constexpr auto errIntfForVPDDefault = "com.ibm.VPD.Error.DefaultValue";
-constexpr auto errIntfForInvalidVPD = "com.ibm.VPD.Error.InvalidVPD";
-constexpr auto errIntfForVPDMismatch = "com.ibm.VPD.Error.Mismatch";
-constexpr auto errIntfForStreamFail = "com.ibm.VPD.Error.InvalidEepromPath";
-constexpr auto errIntfForEccCheckFail = "com.ibm.VPD.Error.EccCheckFailed";
-constexpr auto errIntfForJsonFailure = "com.ibm.VPD.Error.InvalidJson";
-constexpr auto errIntfForBusFailure = "com.ibm.VPD.Error.DbusFailure";
-constexpr auto errIntfForInvalidSystemType =
-    "com.ibm.VPD.Error.UnknownSytemType";
-constexpr auto errIntfForEssentialFru = "com.ibm.VPD.Error.RequiredFRUMissing";
-constexpr auto errIntfForGpioError = "com.ibm.VPD.Error.GPIOError";
-constexpr auto motherBoardInterface =
-    "xyz.openbmc_project.Inventory.Item.Board.Motherboard";
-constexpr auto systemVpdFilePath = "/sys/bus/i2c/drivers/at24/8-0050/eeprom";
-constexpr auto i2cPathPrefix = "/sys/bus/i2c/drivers/";
-constexpr auto spiPathPrefix = "/sys/bus/spi/drivers/";
-constexpr auto at24driver = "at24";
-constexpr auto at25driver = "at25";
-constexpr auto ee1004driver = "ee1004";
-constexpr auto invItemIntf = "xyz.openbmc_project.Inventory.Item";
-constexpr auto invAssetIntf = "xyz.openbmc_project.Inventory.Decorator.Asset";
-constexpr auto invOperationalStatusIntf =
-    "xyz.openbmc_project.State.Decorator.OperationalStatus";
-static constexpr std::uintmax_t MAX_VPD_SIZE = 65504;
-
-namespace lengths
-{
-enum Lengths
-{
-    RECORD_NAME = 4,
-    KW_NAME = 2,
-    RECORD_OFFSET = 2,
-    RECORD_MIN = 44,
-    RECORD_LENGTH = 2,
-    RECORD_ECC_OFFSET = 2,
-    VHDR_ECC_LENGTH = 11,
-    VHDR_RECORD_LENGTH = 44
-}; // enum Lengths
-} // namespace lengths
-
-namespace offsets
-{
-enum Offsets
-{
-    VHDR = 17,
-    VHDR_TOC_ENTRY = 29,
-    VTOC_PTR = 35,
-    VTOC_REC_LEN = 37,
-    VTOC_ECC_OFF = 39,
-    VTOC_ECC_LEN = 41,
-    VTOC_DATA = 13,
-    VHDR_ECC = 0,
-    VHDR_RECORD = 11
-};
-} // namespace offsets
-
-namespace eccStatus
-{
-enum Status
-{
-    SUCCESS = 0,
-    FAILED = -1
-};
-} // namespace eccStatus
-
-/**
- * @brief Types of VPD
- */
-enum vpdType
-{
-    IPZ_VPD,                /**< IPZ VPD type */
-    KEYWORD_VPD,            /**< Keyword VPD type */
-    DDR4_DDIMM_MEMORY_VPD,  /**< DDR4 DDIMM Memory VPD type */
-    DDR5_DDIMM_MEMORY_VPD,  /**< DDR5 DDIMM Memory VPD type */
-    DDR4_ISDIMM_MEMORY_VPD, /**< DDR4 ISDIMM Memory VPD type */
-    DDR5_ISDIMM_MEMORY_VPD, /**< DDR5 ISDIMM Memory VPD type */
-    INVALID_VPD_FORMAT      /**< Invalid VPD type Format */
-};
-
-enum PelSeverity
-{
-    NOTICE,
-    INFORMATIONAL,
-    DEBUG,
-    WARNING,
-    CRITICAL,
-    EMERGENCY,
-    ALERT,
-    ERROR
-};
-
-} // namespace constants
-} // namespace vpd
-} // namespace openpower
diff --git a/defines.hpp b/defines.hpp
deleted file mode 100644
index 0d493ac..0000000
--- a/defines.hpp
+++ /dev/null
@@ -1,161 +0,0 @@
-#pragma once
-
-namespace openpower
-{
-namespace vpd
-{
-
-/** @brief OpenPOWER VPD records we're interested in */
-enum class Record
-{
-    VINI, /**< Initial information, common to all OpenPOWER FRUs */
-    OPFR, /**< OpenPOWER FRU information, common to all OpenPOWER FRUs */
-    OSYS  /**< Information specific to a system board */
-};
-
-/** @brief Convert VPD Record name from enum to string
- *  @tparam R - VPD Record
- *  @returns string representation of Record name
- */
-template <Record R>
-constexpr const char* getRecord() = delete;
-
-template <>
-constexpr const char* getRecord<Record::VINI>()
-{
-    return "VINI";
-}
-
-template <>
-constexpr const char* getRecord<Record::OPFR>()
-{
-    return "OPFR";
-}
-
-template <>
-constexpr const char* getRecord<Record::OSYS>()
-{
-    return "OSYS";
-}
-
-namespace record
-{
-
-/** @brief OpenPOWER VPD keywords we're interested in */
-enum class Keyword
-{
-    DR, /**< FRU name/description */
-    PN, /**< FRU part number */
-    SN, /**< FRU serial number */
-    CC, /**< Customer Card Identification Number (CCIN) */
-    HW, /**< FRU version */
-    B1, /**< MAC Address */
-    VN, /**< FRU manufacturer name */
-    MB, /**< FRU manufacture date */
-    MM, /**< FRU model */
-    UD, /**< System UUID */
-    VS, /**< OpenPower serial number */
-    VP  /**< OpenPower part number */
-};
-
-/** @brief Convert VPD Keyword name from enum to string
- *  @tparam K - VPD Keyword
- *  @returns string representation of Keyword name
- */
-template <Keyword K>
-constexpr const char* getKeyword() = delete;
-
-template <>
-constexpr const char* getKeyword<Keyword::DR>()
-{
-    return "DR";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::PN>()
-{
-    return "PN";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::SN>()
-{
-    return "SN";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::CC>()
-{
-    return "CC";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::HW>()
-{
-    return "HW";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::B1>()
-{
-    return "B1";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::VN>()
-{
-    return "VN";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::MB>()
-{
-    return "MB";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::MM>()
-{
-    return "MM";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::UD>()
-{
-    return "UD";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::VS>()
-{
-    return "VS";
-}
-
-template <>
-constexpr const char* getKeyword<Keyword::VP>()
-{
-    return "VP";
-}
-
-} // namespace record
-
-/** @brief FRUs whose VPD we're interested in
- *
- *  BMC       The VPD on the BMC planar, for eg
- *  ETHERNET  The ethernet card on the BMC
- *  ETHERNET1 The 2nd ethernet card on the BMC
- */
-enum Fru
-{
-    BMC,
-    ETHERNET,
-    ETHERNET1
-};
-
-static constexpr auto BD_YEAR_END = 4;
-static constexpr auto BD_MONTH_END = 7;
-static constexpr auto BD_DAY_END = 10;
-static constexpr auto BD_HOUR_END = 13;
-
-} // namespace vpd
-} // namespace openpower
diff --git a/examples/inventory.json b/examples/inventory.json
deleted file mode 100644
index 646cdbe..0000000
--- a/examples/inventory.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-    "commonInterfaces": {
-        "xyz.openbmc_project.Inventory.Decorator.Asset": {
-            "PartNumber": {
-                "recordName": "VINI",
-                "keywordName": "PN"
-            },
-            "SerialNumber": {
-                "recordName": "VINI",
-                "keywordName": "SN"
-            }
-        },
-        "xyz.openbmc_project.Inventory.Item": {
-            "PrettyName": {
-                "recordName": "VINI",
-                "keywordName": "DR"
-            }
-        }
-    },
-    "frus": {
-        "/sys/devices/path/to/motherboard/eeprom": {
-            "inventoryPath": "/bus/path/for/motherboardfru",
-            "extraInterfaces": {
-                "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null
-            }
-        },
-        "/sys/devices/path/to/bmc/eeprom": {
-            "inventoryPath": "/bus/path/for/bmcfru",
-            "isReplacable": true,
-            "driverType": "at24",
-            "devAddress": "8-0051",
-            "busType": "i2c",
-            "extraInterfaces": {
-                "xyz.openbmc_project.Inventory.Item.Bmc": null
-            }
-        }
-    }
-}
diff --git a/examples/sample_vpd_inventory_for_recollcetion.json b/examples/sample_vpd_inventory_for_recollcetion.json
deleted file mode 100644
index 7b16a05..0000000
--- a/examples/sample_vpd_inventory_for_recollcetion.json
+++ /dev/null
@@ -1,1414 +0,0 @@
-{
-    "commonInterfaces": {
-        "xyz.openbmc_project.Inventory.Decorator.Asset": {
-            "PartNumber": {
-                "recordName": "VINI",
-                "keywordName": "PN"
-            },
-            "SerialNumber": {
-                "recordName": "VINI",
-                "keywordName": "SN"
-            },
-            "SparePartNumber": {
-                "recordName": "VINI",
-                "keywordName": "FN"
-            },
-            "Model": {
-                "recordName": "VINI",
-                "keywordName": "CC"
-            },
-            "BuildDate": {
-                "recordName": "VR10",
-                "keywordName": "DC",
-                "encoding": "DATE"
-            }
-        },
-        "xyz.openbmc_project.Inventory.Item": {
-            "PrettyName": {
-                "recordName": "VINI",
-                "keywordName": "DR"
-            },
-            "Present": true
-        }
-    },
-    "frus": {
-        "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system",
-                "inherit": false,
-                "isSystemVpd": true,
-                "copyRecords": ["VSYS"],
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.System": null,
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "SerialNumber": {
-                            "recordName": "VSYS",
-                            "keywordName": "SE"
-                        },
-                        "Model": {
-                            "recordName": "VSYS",
-                            "keywordName": "TM"
-                        },
-                        "SubModel": {
-                            "recordName": "VSYS",
-                            "keywordName": "BR"
-                        }
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Umts"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Chassis": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot8",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot9",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C9"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot10",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcieslot11",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/powersupply1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-E1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/fan5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-A5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/tod_battery",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Battery": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-E0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/8-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Bmc": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z0",
-                            "encoding": "MAC"
-                        }
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z1",
-                            "encoding": "MAC"
-                        }
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/0-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/tpm_wilson",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Tpm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C22"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/7-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/base_op_panel_blyth",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D0"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/7-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/lcd_op_panel_hill",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/9-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C14"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/10-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C23"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi12.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/cpu0",
-                "powerOffOnly": true,
-                "offset": 196608,
-                "size": 65504,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C15"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi22.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/cpu1",
-                "powerOffOnly": true,
-                "offset": 196608,
-                "size": 65504,
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C15"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi32.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/cpu2",
-                "powerOffOnly": true,
-                "offset": 196608,
-                "size": 65504,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C24"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/spi/drivers/at25/spi42.0/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/cpu3",
-                "powerOffOnly": true,
-                "offset": 196608,
-                "size": 65504,
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Cpu": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C24"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/4-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card0",
-                "bind": "4-0050",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT0_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card0/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card0/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C0-T1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/5-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card3",
-                "bind": "5-0050",
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT3_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card3/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3-T0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card3/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C3-T1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/5-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card4",
-                "bind": "5-0051",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT4_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card4/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4-T0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card4/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C4-T1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card10",
-                "bind": "11-0050",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT10_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "xyz.openbmc_project.Inventory.Item.FabricAdapter": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card10/cxp_top",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card10/cxp_bot",
-                "inherit": false,
-                "noprime": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Connector": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C10-T1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/4-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card2",
-                "bind": "4-0052",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT2_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C2"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/6-0053/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card6",
-                "bind": "6-0053",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT6_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C6"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/6-0052/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card7",
-                "bind": "6-0052",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT7_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C7"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/6-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card9",
-                "bind": "6-0050",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT9_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C9"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/11-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card11",
-                "bind": "11-0051",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT11_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C11"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/4-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card1",
-                "bind": "4-0051",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT1_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C1"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/6-0051/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/pcie_cable_card8",
-                "bind": "6-0051",
-                "isReplaceable": true,
-                "busType": "i2c",
-                "driverType": "at24",
-                "preAction": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 1
-                },
-                "postActionFail": {
-                    "pin": "SLOT8_PRSNT_EN_RSVD",
-                    "value": 0
-                },
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C8"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/13-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane0/nvme7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P1-C7"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/14-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane1/nvme7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P2-C7"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/15-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane2",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.DiskBackplane": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane2/nvme0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P3-C0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane2/nvme1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P3-C1"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane2/nvme2",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P3-C2"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane2/nvme3",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P3-C3"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane2/nvme4",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P3-C4"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane2/nvme5",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P3-C5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane2/nvme6",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P3-C6"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/disk_backplane2/nvme7",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.PCIeSlot": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P3-C7"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/111-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C12"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/110-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C13"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/214-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm2",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C16"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/210-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm3",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C17"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/202-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm4",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C18"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/311-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm5",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C19"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/310-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm6",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C20"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/312-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm7",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C21"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/402-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm8",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C25"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/410-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm9",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C26"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/112-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm10",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C27"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/115-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm11",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C28"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/100-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm12",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C29"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/101-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm13",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C30"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/114-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm14",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C31"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/113-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm15",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C32"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/216-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm16",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C33"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/203-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm17",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C34"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/217-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm18",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C35"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/211-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm19",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C36"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/215-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm20",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C37"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/315-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm21",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C38"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/300-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm22",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C39"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/313-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm23",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C40"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/314-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm24",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C41"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/301-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm25",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C42"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/417-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm26",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C43"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/403-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm27",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C44"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/416-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm28",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C45"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/411-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm29",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C46"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/415-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm30",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C47"
-                    }
-                }
-            }
-        ],
-        "/sys/bus/i2c/drivers/at24/414-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/dimm31",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Dimm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C48"
-                    }
-                }
-            }
-        ]
-    }
-}
diff --git a/extra-properties-example.yaml b/extra-properties-example.yaml
deleted file mode 100644
index 92cecf5..0000000
--- a/extra-properties-example.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-/system/bmc:
-    xyz.openbmc_project.Inventory.Decorator.Replaceable:
-        FieldReplaceable: "false"
-
-/system/bmc/ethernet:
-    xyz.openbmc_project.Inventory.Decorator.Replaceable:
-        FieldReplaceable: "false"
diff --git a/extra-properties.mako.hpp b/extra-properties.mako.hpp
deleted file mode 100644
index a297b2c..0000000
--- a/extra-properties.mako.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-## This file is a template.  The comment below is emitted
-## into the rendered file; feel free to edit this file.
-// WARNING: Generated header. Do not edit!
-
-#pragma once
-
-#include <string>
-#include <map>
-#include "types.hpp"
-
-namespace openpower
-{
-namespace vpd
-{
-namespace inventory
-{
-namespace extra
-{
-
-const std::map<Path, InterfaceMap> objects = {
-% for path in dict.keys():
-<%
-    interfaces = dict[path]
-%>\
-    {"${path}",{
-    % for interface,properties in interfaces.items():
-        {"${interface}",{
-        % for property,value in properties.items():
-            {"${property}", ${value}},
-        % endfor
-        }},
-    % endfor
-    }},
-% endfor
-};
-
-} // namespace extra
-} // namespace inventory
-} // namespace vpd
-} // namespace openpower
diff --git a/extra-properties.py b/extra-properties.py
deleted file mode 100755
index 2287b62..0000000
--- a/extra-properties.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python3
-
-import argparse
-import os
-
-import yaml
-from mako.template import Template
-
-
-def main():
-    parser = argparse.ArgumentParser(
-        description="OpenPOWER FRU VPD parser and code generator"
-    )
-
-    parser.add_argument(
-        "-e",
-        "--extra_props_yaml",
-        dest="extra_props_yaml",
-        default="extra-properties-example.yaml",
-        help="input extra properties yaml file to parse",
-    )
-    args = parser.parse_args()
-
-    with open(os.path.join(script_dir, args.extra_props_yaml), "r") as fd:
-        yamlDict = yaml.safe_load(fd)
-
-        # Render the mako template
-        template = os.path.join(script_dir, "extra-properties.mako.hpp")
-        t = Template(filename=template)
-        with open("extra-properties-gen.hpp", "w") as fd:
-            fd.write(t.render(dict=yamlDict))
-
-
-if __name__ == "__main__":
-    script_dir = os.path.dirname(os.path.realpath(__file__))
-    main()
diff --git a/ibm_vpd_app.cpp b/ibm_vpd_app.cpp
deleted file mode 100644
index ed4d612..0000000
--- a/ibm_vpd_app.cpp
+++ /dev/null
@@ -1,1981 +0,0 @@
-#include "config.h"
-
-#include "common_utility.hpp"
-#include "defines.hpp"
-#include "editor_impl.hpp"
-#include "ibm_vpd_utils.hpp"
-#include "ipz_parser.hpp"
-#include "keyword_vpd_parser.hpp"
-#include "memory_vpd_parser.hpp"
-#include "parser_factory.hpp"
-#include "vpd_exceptions.hpp"
-
-#include <assert.h>
-#include <ctype.h>
-
-#include <CLI/CLI.hpp>
-#include <boost/algorithm/string.hpp>
-#include <gpiod.hpp>
-#include <phosphor-logging/log.hpp>
-
-#include <algorithm>
-#include <cstdarg>
-#include <exception>
-#include <filesystem>
-#include <fstream>
-#include <iostream>
-#include <iterator>
-#include <regex>
-#include <thread>
-
-using namespace std;
-using namespace openpower::vpd;
-using namespace CLI;
-using namespace vpd::keyword::parser;
-using namespace openpower::vpd::constants;
-namespace fs = filesystem;
-using json = nlohmann::json;
-using namespace openpower::vpd::parser::factory;
-using namespace openpower::vpd::inventory;
-using namespace openpower::vpd::memory::parser;
-using namespace openpower::vpd::parser::interface;
-using namespace openpower::vpd::exceptions;
-using namespace phosphor::logging;
-using namespace openpower::vpd::manager::editor;
-
-/**
- * @brief API declaration, Populate Dbus.
- *
- * This method invokes all the populateInterface functions
- * and notifies PIM about dbus object.
- *
- * @param[in] vpdMap - Either IPZ vpd map or Keyword vpd map based on the
- * input.
- * @param[in] js - Inventory json object
- * @param[in] filePath - Path of the vpd file
- * @param[in] preIntrStr - Interface string
- */
-template <typename T>
-static void populateDbus(T& vpdMap, nlohmann::json& js, const string& filePath);
-
-/**
- * @brief Returns the BMC state
- */
-static auto getBMCState()
-{
-    std::string bmcState;
-    try
-    {
-        auto bus = sdbusplus::bus::new_default();
-        auto properties = bus.new_method_call(
-            "xyz.openbmc_project.State.BMC", "/xyz/openbmc_project/state/bmc0",
-            "org.freedesktop.DBus.Properties", "Get");
-        properties.append("xyz.openbmc_project.State.BMC");
-        properties.append("CurrentBMCState");
-        auto result = bus.call(properties);
-        std::variant<std::string> val;
-        result.read(val);
-        if (auto pVal = std::get_if<std::string>(&val))
-        {
-            bmcState = *pVal;
-        }
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        // Ignore any error
-        std::cerr << "Failed to get BMC state: " << e.what() << "\n";
-        // Since we failed set to not ready state
-        bmcState = "xyz.openbmc_project.State.BMC.BMCState.NotReady";
-    }
-    return bmcState;
-}
-
-/**
- * @brief Check if the FRU is in the cache
- *
- * Checks if the FRU associated with the supplied D-Bus object path is already
- * on D-Bus. This can be used to test if a VPD collection is required for this
- * FRU. It uses the "xyz.openbmc_project.Inventory.Item, Present" property to
- * determine the presence of a FRU in the cache.
- *
- * @param objectPath - The D-Bus object path without the PIM prefix.
- * @return true if the object exists on D-Bus, false otherwise.
- */
-static auto isFruInVpdCache(const std::string& objectPath)
-{
-    try
-    {
-        auto bus = sdbusplus::bus::new_default();
-        auto invPath = std::string{pimPath} + objectPath;
-        auto props = bus.new_method_call(
-            "xyz.openbmc_project.Inventory.Manager", invPath.c_str(),
-            "org.freedesktop.DBus.Properties", "Get");
-        props.append("xyz.openbmc_project.Inventory.Item");
-        props.append("Present");
-        auto result = bus.call(props);
-        std::variant<bool> present;
-        result.read(present);
-        if (auto pVal = std::get_if<bool>(&present))
-        {
-            return *pVal;
-        }
-        return false;
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        std::cout << "FRU: " << objectPath << " not in D-Bus\n";
-        // Assume not present in case of an error
-        return false;
-    }
-}
-
-/**
- * @brief Check if VPD recollection is needed for the given EEPROM
- *
- * Not all FRUs can be swapped at BMC ready state. This function does the
- * following:
- * -- Check if the FRU is marked as "pluggableAtStandby" OR
- *    "concurrentlyMaintainable". If so, return true.
- * -- Check if we are at BMC NotReady state. If we are, then return true.
- * -- Else check if the FRU is not present in the VPD cache (to cover for VPD
- *    force collection). If not found in the cache, return true.
- * -- Else return false.
- *
- * @param js - JSON Object.
- * @param filePath - The EEPROM file.
- * @return true if collection should be attempted, false otherwise.
- */
-static auto needsRecollection(const nlohmann::json& js, const string& filePath)
-{
-    if (js["frus"][filePath].at(0).value("pluggableAtStandby", false) ||
-        js["frus"][filePath].at(0).value("concurrentlyMaintainable", false))
-    {
-        return true;
-    }
-    if (getBMCState() == "xyz.openbmc_project.State.BMC.BMCState.NotReady")
-    {
-        return true;
-    }
-    if (!isFruInVpdCache(js["frus"][filePath].at(0).value("inventoryPath", "")))
-    {
-        return true;
-    }
-    return false;
-}
-
-/**
- * @brief Expands location codes
- */
-static auto expandLocationCode(const string& unexpanded, const Parsed& vpdMap,
-                               bool isSystemVpd)
-{
-    auto expanded{unexpanded};
-    static constexpr auto SYSTEM_OBJECT = "/system/chassis/motherboard";
-    static constexpr auto VCEN_IF = "com.ibm.ipzvpd.VCEN";
-    static constexpr auto VSYS_IF = "com.ibm.ipzvpd.VSYS";
-    size_t idx = expanded.find("fcs");
-    try
-    {
-        if (idx != string::npos)
-        {
-            string fc{};
-            string se{};
-            if (isSystemVpd)
-            {
-                const auto& fcData = vpdMap.at("VCEN").at("FC");
-                const auto& seData = vpdMap.at("VCEN").at("SE");
-                fc = string(fcData.data(), fcData.size());
-                se = string(seData.data(), seData.size());
-            }
-            else
-            {
-                fc = readBusProperty(SYSTEM_OBJECT, VCEN_IF, "FC");
-                se = readBusProperty(SYSTEM_OBJECT, VCEN_IF, "SE");
-            }
-
-            // TODO: See if ND0 can be placed in the JSON
-            expanded.replace(idx, 3, fc.substr(0, 4) + ".ND0." + se);
-        }
-        else
-        {
-            idx = expanded.find("mts");
-            if (idx != string::npos)
-            {
-                string mt{};
-                string se{};
-                if (isSystemVpd)
-                {
-                    const auto& mtData = vpdMap.at("VSYS").at("TM");
-                    const auto& seData = vpdMap.at("VSYS").at("SE");
-                    mt = string(mtData.data(), mtData.size());
-                    se = string(seData.data(), seData.size());
-                }
-                else
-                {
-                    mt = readBusProperty(SYSTEM_OBJECT, VSYS_IF, "TM");
-                    se = readBusProperty(SYSTEM_OBJECT, VSYS_IF, "SE");
-                }
-
-                replace(mt.begin(), mt.end(), '-', '.');
-                expanded.replace(idx, 3, mt + "." + se);
-            }
-        }
-    }
-    catch (const exception& e)
-    {
-        std::cerr << "Failed to expand location code with exception: "
-                  << e.what() << "\n";
-    }
-    return expanded;
-}
-
-/**
- * @brief Populate FRU specific interfaces.
- *
- * This is a common method which handles both
- * ipz and keyword specific interfaces thus,
- * reducing the code redundancy.
- * @param[in] map - Reference to the innermost keyword-value map.
- * @param[in] preIntrStr - Reference to the interface string.
- * @param[out] interfaces - Reference to interface map.
- */
-template <typename T>
-static void populateFruSpecificInterfaces(
-    const T& map, const string& preIntrStr, inventory::InterfaceMap& interfaces)
-{
-    inventory::PropertyMap prop;
-
-    for (const auto& kwVal : map)
-    {
-        auto kw = kwVal.first;
-
-        if (kw[0] == '#')
-        {
-            kw = string("PD_") + kw[1];
-        }
-        else if (isdigit(kw[0]))
-        {
-            kw = string("N_") + kw;
-        }
-        if constexpr (is_same<T, KeywordVpdMap>::value)
-        {
-            if (auto keywordValue = get_if<Binary>(&kwVal.second))
-            {
-                Binary vec((*keywordValue).begin(), (*keywordValue).end());
-                prop.emplace(move(kw), move(vec));
-            }
-            else if (auto keywordValue = get_if<std::string>(&kwVal.second))
-            {
-                Binary vec((*keywordValue).begin(), (*keywordValue).end());
-                prop.emplace(move(kw), move(vec));
-            }
-            else if (auto keywordValue = get_if<size_t>(&kwVal.second))
-            {
-                if (kw == "MemorySizeInKB")
-                {
-                    inventory::PropertyMap memProp;
-                    memProp.emplace(move(kw), ((*keywordValue)));
-                    interfaces.emplace(
-                        "xyz.openbmc_project.Inventory.Item.Dimm",
-                        move(memProp));
-                }
-                else
-                {
-                    std::cerr << "Unknown Keyword[" << kw << "] found ";
-                }
-            }
-            else
-            {
-                std::cerr << "Unknown Variant found ";
-            }
-        }
-        else
-        {
-            Binary vec(kwVal.second.begin(), kwVal.second.end());
-            prop.emplace(move(kw), move(vec));
-        }
-    }
-
-    interfaces.emplace(preIntrStr, move(prop));
-}
-
-/**
- * @brief Populate Interfaces.
- *
- * This method populates common and extra interfaces to dbus.
- * @param[in] js - json object
- * @param[out] interfaces - Reference to interface map
- * @param[in] vpdMap - Reference to the parsed vpd map.
- * @param[in] isSystemVpd - Denotes whether we are collecting the system VPD.
- */
-template <typename T>
-static void populateInterfaces(const nlohmann::json& js,
-                               inventory::InterfaceMap& interfaces,
-                               const T& vpdMap, bool isSystemVpd)
-{
-    for (const auto& ifs : js.items())
-    {
-        string inf = ifs.key();
-        inventory::PropertyMap props;
-
-        for (const auto& itr : ifs.value().items())
-        {
-            const string& busProp = itr.key();
-
-            if (itr.value().is_boolean())
-            {
-                props.emplace(busProp, itr.value().get<bool>());
-            }
-            else if (itr.value().is_string())
-            {
-                if (busProp == "LocationCode" && inf == IBM_LOCATION_CODE_INF)
-                {
-                    std::string prop;
-                    if constexpr (is_same<T, Parsed>::value)
-                    {
-                        // TODO deprecate the com.ibm interface later
-                        prop = expandLocationCode(itr.value().get<string>(),
-                                                  vpdMap, isSystemVpd);
-                    }
-                    else if constexpr (is_same<T, KeywordVpdMap>::value)
-                    {
-                        // Send empty Parsed object to expandLocationCode api.
-                        prop = expandLocationCode(itr.value().get<string>(),
-                                                  Parsed{}, false);
-                    }
-                    props.emplace(busProp, prop);
-                    interfaces.emplace(XYZ_LOCATION_CODE_INF, props);
-                    interfaces.emplace(IBM_LOCATION_CODE_INF, props);
-                }
-                else
-                {
-                    props.emplace(busProp, itr.value().get<string>());
-                }
-            }
-            else if (itr.value().is_array())
-            {
-                try
-                {
-                    props.emplace(busProp, itr.value().get<Binary>());
-                }
-                catch (const nlohmann::detail::type_error& e)
-                {
-                    std::cerr << "Type exception: " << e.what() << "\n";
-                    // Ignore any type errors
-                }
-            }
-            else if (itr.value().is_object())
-            {
-                const string& rec = itr.value().value("recordName", "");
-                const string& kw = itr.value().value("keywordName", "");
-                const string& encoding = itr.value().value("encoding", "");
-
-                if constexpr (is_same<T, Parsed>::value)
-                {
-                    if (!rec.empty() && !kw.empty() && vpdMap.count(rec) &&
-                        vpdMap.at(rec).count(kw))
-                    {
-                        auto encoded =
-                            encodeKeyword(vpdMap.at(rec).at(kw), encoding);
-                        props.emplace(busProp, encoded);
-                    }
-                }
-                else if constexpr (is_same<T, KeywordVpdMap>::value)
-                {
-                    if (!kw.empty() && vpdMap.count(kw))
-                    {
-                        if (auto kwValue = get_if<Binary>(&vpdMap.at(kw)))
-                        {
-                            auto prop =
-                                string((*kwValue).begin(), (*kwValue).end());
-
-                            auto encoded = encodeKeyword(prop, encoding);
-
-                            props.emplace(busProp, encoded);
-                        }
-                        else if (auto kwValue =
-                                     get_if<std::string>(&vpdMap.at(kw)))
-                        {
-                            auto prop =
-                                string((*kwValue).begin(), (*kwValue).end());
-
-                            auto encoded = encodeKeyword(prop, encoding);
-
-                            props.emplace(busProp, encoded);
-                        }
-                        else if (auto uintValue =
-                                     get_if<size_t>(&vpdMap.at(kw)))
-                        {
-                            props.emplace(busProp, *uintValue);
-                        }
-                        else
-                        {
-                            std::cerr << " Unknown Keyword [" << kw
-                                      << "] Encountered";
-                        }
-                    }
-                }
-            }
-            else if (itr.value().is_number())
-            {
-                // For now assume the value is a size_t.  In the future it would
-                // be nice to come up with a way to get the type from the JSON.
-                props.emplace(busProp, itr.value().get<size_t>());
-            }
-        }
-        insertOrMerge(interfaces, inf, move(props));
-    }
-}
-
-/**
- * @brief This API checks if this FRU is pcie_devices. If yes then it further
- *        checks whether it is PASS1 planar.
- */
-static bool isThisPcieOnPass1planar(const nlohmann::json& js,
-                                    const string& file)
-{
-    auto isThisPCIeDev = false;
-    auto isPASS1 = false;
-
-    // Check if it is a PCIE device
-    if (js["frus"].find(file) != js["frus"].end())
-    {
-        if ((js["frus"][file].at(0).find("extraInterfaces") !=
-             js["frus"][file].at(0).end()))
-        {
-            if (js["frus"][file].at(0)["extraInterfaces"].find(
-                    "xyz.openbmc_project.Inventory.Item.PCIeDevice") !=
-                js["frus"][file].at(0)["extraInterfaces"].end())
-            {
-                isThisPCIeDev = true;
-            }
-        }
-    }
-
-    if (isThisPCIeDev)
-    {
-        // Collect HW version and SystemType to know if it is PASS1 planar.
-        auto bus = sdbusplus::bus::new_default();
-        auto property1 = bus.new_method_call(
-            INVENTORY_MANAGER_SERVICE,
-            "/xyz/openbmc_project/inventory/system/chassis/motherboard",
-            "org.freedesktop.DBus.Properties", "Get");
-        property1.append("com.ibm.ipzvpd.VINI");
-        property1.append("HW");
-        auto result1 = bus.call(property1);
-        inventory::Value hwVal;
-        result1.read(hwVal);
-
-        // SystemType
-        auto property2 = bus.new_method_call(
-            INVENTORY_MANAGER_SERVICE,
-            "/xyz/openbmc_project/inventory/system/chassis/motherboard",
-            "org.freedesktop.DBus.Properties", "Get");
-        property2.append("com.ibm.ipzvpd.VSBP");
-        property2.append("IM");
-        auto result2 = bus.call(property2);
-        inventory::Value imVal;
-        result2.read(imVal);
-
-        auto pVal1 = get_if<Binary>(&hwVal);
-        auto pVal2 = get_if<Binary>(&imVal);
-
-        if (pVal1 && pVal2)
-        {
-            auto hwVersion = *pVal1;
-            auto systemType = *pVal2;
-
-            // IM kw for Everest
-            Binary everestSystem{80, 00, 48, 00};
-
-            if (systemType == everestSystem)
-            {
-                if (hwVersion[1] < 21)
-                {
-                    isPASS1 = true;
-                }
-            }
-            else if (hwVersion[1] < 2)
-            {
-                isPASS1 = true;
-            }
-        }
-    }
-
-    return (isThisPCIeDev && isPASS1);
-}
-
-/** Performs any pre-action needed to get the FRU setup for collection.
- *
- * @param[in] json - json object
- * @param[in] file - eeprom file path
- */
-static void preAction(const nlohmann::json& json, const string& file)
-{
-    if ((json["frus"][file].at(0)).find("preAction") ==
-        json["frus"][file].at(0).end())
-    {
-        return;
-    }
-
-    try
-    {
-        if (executePreAction(json, file))
-        {
-            if (json["frus"][file].at(0).find("devAddress") !=
-                json["frus"][file].at(0).end())
-            {
-                // Now bind the device
-                string bind = json["frus"][file].at(0).value("devAddress", "");
-                std::cout << "Binding device " << bind << std::endl;
-                string bindCmd = string("echo \"") + bind +
-                                 string("\" > /sys/bus/i2c/drivers/at24/bind");
-                std::cout << bindCmd << std::endl;
-                executeCmd(bindCmd);
-
-                // Check if device showed up (test for file)
-                if (!fs::exists(file))
-                {
-                    std::cerr
-                        << "EEPROM " << file
-                        << " does not exist. Take failure action" << std::endl;
-                    // If not, then take failure postAction
-                    executePostFailAction(json, file);
-                }
-            }
-            else
-            {
-                // missing required information
-                std::cerr << "VPD inventory JSON missing basic information of "
-                             "preAction "
-                             "for this FRU : ["
-                          << file << "]. Executing executePostFailAction."
-                          << std::endl;
-
-                // Take failure postAction
-                executePostFailAction(json, file);
-                return;
-            }
-        }
-        else
-        {
-            // If the FRU is not there, clear the VINI/CCIN data.
-            // Entity manager probes for this keyword to look for this
-            // FRU, now if the data is persistent on BMC and FRU is
-            // removed this can lead to ambiguity. Hence clearing this
-            // Keyword if FRU is absent.
-            const auto& invPath =
-                json["frus"][file].at(0).value("inventoryPath", "");
-
-            if (!invPath.empty())
-            {
-                inventory::ObjectMap pimObjMap{
-                    {invPath, {{"com.ibm.ipzvpd.VINI", {{"CC", Binary{}}}}}}};
-
-                common::utility::callPIM(move(pimObjMap));
-            }
-            else
-            {
-                throw std::runtime_error("Path empty in Json");
-            }
-        }
-    }
-    catch (const GpioException& e)
-    {
-        PelAdditionalData additionalData{};
-        additionalData.emplace("DESCRIPTION", e.what());
-        createPEL(additionalData, PelSeverity::WARNING, errIntfForGpioError,
-                  nullptr);
-    }
-}
-
-/**
- * @brief Fills the Decorator.AssetTag property into the interfaces map
- *
- * This function should only be called in cases where we did not find a JSON
- * symlink. A missing symlink in /var/lib will be considered as a factory reset
- * and this function will be used to default the AssetTag property.
- *
- * @param interfaces A possibly pre-populated map of inetrfaces to properties.
- * @param vpdMap A VPD map of the system VPD data.
- */
-static void fillAssetTag(inventory::InterfaceMap& interfaces,
-                         const Parsed& vpdMap)
-{
-    // Read the system serial number and MTM
-    // Default asset tag is Server-MTM-System Serial
-    inventory::Interface assetIntf{
-        "xyz.openbmc_project.Inventory.Decorator.AssetTag"};
-    inventory::PropertyMap assetTagProps;
-    std::string defaultAssetTag =
-        std::string{"Server-"} + getKwVal(vpdMap, "VSYS", "TM") +
-        std::string{"-"} + getKwVal(vpdMap, "VSYS", "SE");
-    assetTagProps.emplace("AssetTag", defaultAssetTag);
-    insertOrMerge(interfaces, assetIntf, std::move(assetTagProps));
-}
-
-/**
- * @brief Set certain one time properties in the inventory
- * Use this function to insert the Functional and Enabled properties into the
- * inventory map. This function first checks if the object in question already
- * has these properties hosted on D-Bus, if the property is already there, it is
- * not modified, hence the name "one time". If the property is not already
- * present, it will be added to the map with a suitable default value (true for
- * Functional and Enabled)
- *
- * @param[in] object - The inventory D-Bus object without the inventory prefix.
- * @param[in,out] interfaces - Reference to a map of inventory interfaces to
- * which the properties will be attached.
- */
-static void setOneTimeProperties(const std::string& object,
-                                 inventory::InterfaceMap& interfaces)
-{
-    auto bus = sdbusplus::bus::new_default();
-    auto objectPath = INVENTORY_PATH + object;
-    auto prop = bus.new_method_call("xyz.openbmc_project.Inventory.Manager",
-                                    objectPath.c_str(),
-                                    "org.freedesktop.DBus.Properties", "Get");
-    prop.append("xyz.openbmc_project.State.Decorator.OperationalStatus");
-    prop.append("Functional");
-    try
-    {
-        auto result = bus.call(prop);
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        // Treat as property unavailable
-        inventory::PropertyMap prop;
-        prop.emplace("Functional", true);
-        interfaces.emplace(
-            "xyz.openbmc_project.State.Decorator.OperationalStatus",
-            move(prop));
-    }
-    prop = bus.new_method_call("xyz.openbmc_project.Inventory.Manager",
-                               objectPath.c_str(),
-                               "org.freedesktop.DBus.Properties", "Get");
-    prop.append("xyz.openbmc_project.Object.Enable");
-    prop.append("Enabled");
-    try
-    {
-        auto result = bus.call(prop);
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        // Treat as property unavailable
-        inventory::PropertyMap prop;
-        prop.emplace("Enabled", true);
-        interfaces.emplace("xyz.openbmc_project.Object.Enable", move(prop));
-    }
-}
-
-/**
- * @brief Prime the Inventory
- * Prime the inventory by populating only the location code,
- * type interface and the inventory object for the frus
- * which are not system vpd fru.
- *
- * @param[in] jsObject - Reference to vpd inventory json object
- * @param[in] vpdMap -  Reference to the parsed vpd map
- *
- * @returns Map of items in extraInterface.
- */
-template <typename T>
-inventory::ObjectMap
-    primeInventory(const nlohmann::json& jsObject, const T& vpdMap)
-{
-    inventory::ObjectMap objects;
-
-    for (auto& itemFRUS : jsObject["frus"].items())
-    {
-        for (auto& itemEEPROM : itemFRUS.value())
-        {
-            // Take pre actions if needed
-            if (itemEEPROM.find("preAction") != itemEEPROM.end())
-            {
-                preAction(jsObject, itemFRUS.key());
-            }
-
-            inventory::InterfaceMap interfaces;
-            inventory::Object object(itemEEPROM.at("inventoryPath"));
-
-            if ((itemFRUS.key() != systemVpdFilePath) &&
-                !itemEEPROM.value("noprime", false))
-            {
-                inventory::PropertyMap presProp;
-
-                // Do not populate Present property for frus whose
-                // synthesized=true. synthesized=true says the fru VPD is
-                // synthesized and owned by a separate component.
-                // In some cases, the FRU has its own VPD, but still a separate
-                // application handles the FRU's presence. So VPD parser skips
-                // populating Present property by checking the JSON flag,
-                // "handlePresence".
-                if (!itemEEPROM.value("synthesized", false))
-                {
-                    if (itemEEPROM.value("handlePresence", true))
-                    {
-                        presProp.emplace("Present", false);
-                        interfaces.emplace("xyz.openbmc_project.Inventory.Item",
-                                           presProp);
-
-                        if ((jsObject["frus"][itemFRUS.key()].at(0).contains(
-                                "extraInterfaces")) &&
-                            (jsObject["frus"][itemFRUS.key()]
-                                 .at(0)["extraInterfaces"]
-                                 .contains("xyz.openbmc_project.Inventory."
-                                           "Item.PCIeDevice")))
-                        {
-                            // check if any subtree exist under the parent
-                            // path.
-                            std::vector<std::string> interfaceList{
-                                "xyz.openbmc_project.Inventory.Item"};
-                            MapperResponse subTree =
-                                getObjectSubtreeForInterfaces(
-                                    INVENTORY_PATH + std::string(object), 0,
-                                    interfaceList);
-
-                            for (auto [objectPath, serviceInterfaceMap] :
-                                 subTree)
-                            {
-                                std::string subTreeObjPath{objectPath};
-                                // Strip any inventory prefix in path
-                                if (subTreeObjPath.find(INVENTORY_PATH) == 0)
-                                {
-                                    subTreeObjPath = subTreeObjPath.substr(
-                                        sizeof(INVENTORY_PATH) - 1);
-                                }
-
-                                // If subtree present, set its presence to
-                                // false and functional to true.
-                                inventory::ObjectMap objectMap{
-                                    {subTreeObjPath,
-                                     {{"xyz.openbmc_project.State."
-                                       "Decorator."
-                                       "OperationalStatus",
-                                       {{"Functional", true}}},
-                                      {"xyz.openbmc_project.Inventory.Item",
-                                       {{"Present", false}}}}}};
-
-                                common::utility::callPIM(move(objectMap));
-                            }
-                        }
-                    }
-                }
-
-                setOneTimeProperties(object, interfaces);
-                if (itemEEPROM.find("extraInterfaces") != itemEEPROM.end())
-                {
-                    for (const auto& eI : itemEEPROM["extraInterfaces"].items())
-                    {
-                        inventory::PropertyMap props;
-                        if (eI.key() == IBM_LOCATION_CODE_INF)
-                        {
-                            if constexpr (std::is_same<T, Parsed>::value)
-                            {
-                                for (auto& lC : eI.value().items())
-                                {
-                                    auto propVal = expandLocationCode(
-                                        lC.value().get<string>(), vpdMap, true);
-
-                                    props.emplace(move(lC.key()),
-                                                  move(propVal));
-                                    interfaces.emplace(XYZ_LOCATION_CODE_INF,
-                                                       props);
-                                    interfaces.emplace(move(eI.key()),
-                                                       move(props));
-                                }
-                            }
-                        }
-                        else if (eI.key() ==
-                                 "xyz.openbmc_project.Inventory.Item")
-                        {
-                            for (auto& val : eI.value().items())
-                            {
-                                if (val.key() == "PrettyName")
-                                {
-                                    presProp.emplace(val.key(),
-                                                     val.value().get<string>());
-                                }
-                            }
-                            // Use insert_or_assign here as we may already have
-                            // inserted the present property only earlier in
-                            // this function under this same interface.
-                            interfaces.insert_or_assign(eI.key(),
-                                                        move(presProp));
-                        }
-                        else
-                        {
-                            interfaces.emplace(move(eI.key()), move(props));
-                        }
-                    }
-                }
-                objects.emplace(move(object), move(interfaces));
-            }
-        }
-    }
-    return objects;
-}
-
-/**
- * @brief This API executes command to set environment variable
- *        And then reboot the system
- * @param[in] key   -env key to set new value
- * @param[in] value -value to set.
- */
-void setEnvAndReboot(const string& key, const string& value)
-{
-    // set env and reboot and break.
-    executeCmd("/sbin/fw_setenv", key, value);
-    log<level::INFO>("Rebooting BMC to pick up new device tree");
-    // make dbus call to reboot
-    auto bus = sdbusplus::bus::new_default_system();
-    auto method = bus.new_method_call(
-        "org.freedesktop.systemd1", "/org/freedesktop/systemd1",
-        "org.freedesktop.systemd1.Manager", "Reboot");
-    bus.call_noreply(method);
-}
-
-/*
- * @brief This API checks for env var fitconfig.
- *        If not initialised OR updated as per the current system type,
- *        update this env var and reboot the system.
- *
- * @param[in] systemType IM kwd in vpd tells about which system type it is.
- * */
-void setDevTreeEnv(const string& systemType)
-{
-    // Init with default dtb
-    string newDeviceTree = "conf-aspeed-bmc-ibm-rainier-p1.dtb";
-    static const deviceTreeMap deviceTreeSystemTypeMap = {
-        {RAINIER_2U, "conf-aspeed-bmc-ibm-rainier-p1.dtb"},
-        {RAINIER_2U_V2, "conf-aspeed-bmc-ibm-rainier.dtb"},
-        {RAINIER_4U, "conf-aspeed-bmc-ibm-rainier-4u-p1.dtb"},
-        {RAINIER_4U_V2, "conf-aspeed-bmc-ibm-rainier-4u.dtb"},
-        {RAINIER_1S4U, "conf-aspeed-bmc-ibm-rainier-1s4u.dtb"},
-        {EVEREST, "conf-aspeed-bmc-ibm-everest.dtb"},
-        {EVEREST_V2, "conf-aspeed-bmc-ibm-everest.dtb"},
-        {BONNELL, "conf-aspeed-bmc-ibm-bonnell.dtb"},
-        {BLUERIDGE_2U, "conf-aspeed-bmc-ibm-blueridge-p1.dtb"},
-        {BLUERIDGE_2U_V2, "conf-aspeed-bmc-ibm-blueridge.dtb"},
-        {BLUERIDGE_4U, "conf-aspeed-bmc-ibm-blueridge-4u-p1.dtb"},
-        {BLUERIDGE_4U_V2, "conf-aspeed-bmc-ibm-blueridge-4u.dtb"},
-        {BLUERIDGE_1S4U, "conf-aspeed-bmc-ibm-blueridge-1s4u.dtb"},
-        {FUJI, "conf-aspeed-bmc-ibm-fuji.dtb"},
-        {HUYGENS, "conf-aspeed-bmc-ibm-huygens.dtb"},
-        {FUJI_V2, "conf-aspeed-bmc-ibm-fuji.dtb"}};
-
-    if (deviceTreeSystemTypeMap.find(systemType) !=
-        deviceTreeSystemTypeMap.end())
-    {
-        newDeviceTree = deviceTreeSystemTypeMap.at(systemType);
-    }
-    else
-    {
-        // System type not supported
-        string err = "This System type not found/supported in dtb table " +
-                     systemType +
-                     ".Please check the HW and IM keywords in the system "
-                     "VPD.Breaking...";
-
-        // map to hold additional data in case of logging pel
-        PelAdditionalData additionalData{};
-        additionalData.emplace("DESCRIPTION", err);
-        createPEL(additionalData, PelSeverity::WARNING,
-                  errIntfForInvalidSystemType, nullptr);
-        exit(-1);
-    }
-
-    string readVarValue;
-    bool envVarFound = false;
-
-    vector<string> output = executeCmd("/sbin/fw_printenv");
-    for (const auto& entry : output)
-    {
-        size_t pos = entry.find("=");
-        string key = entry.substr(0, pos);
-        if (key != "fitconfig")
-        {
-            continue;
-        }
-
-        envVarFound = true;
-        if (pos + 1 < entry.size())
-        {
-            readVarValue = entry.substr(pos + 1);
-            if (readVarValue.find(newDeviceTree) != string::npos)
-            {
-                // fitconfig is Updated. No action needed
-                break;
-            }
-        }
-        // set env and reboot and break.
-        setEnvAndReboot(key, newDeviceTree);
-        exit(0);
-    }
-
-    // check If env var Not found
-    if (!envVarFound)
-    {
-        setEnvAndReboot("fitconfig", newDeviceTree);
-    }
-}
-
-/**
- * @brief Parse the given EEPROM file.
- *
- * @param[in] vpdFilePath - Path of EEPROM file
- * @param[in] js- Reference to vpd inventory json object
- * @return Parsed VPD map
- */
-std::variant<KeywordVpdMap, openpower::vpd::Store>
-    parseVpdFile(const std::string& vpdFilePath, const nlohmann::json& js)
-{
-    uint32_t vpdStartOffset = 0;
-    for (const auto& item : js["frus"][vpdFilePath])
-    {
-        if (item.find("offset") != item.end())
-        {
-            vpdStartOffset = item["offset"];
-            break;
-        }
-    }
-
-    Binary vpdVector = getVpdDataInVector(js, vpdFilePath);
-
-    ParserInterface* parser = ParserFactory::getParser(
-        vpdVector,
-        (pimPath + js["frus"][vpdFilePath][0]["inventoryPath"]
-                       .get_ref<const nlohmann::json::string_t&>()),
-        vpdFilePath, vpdStartOffset);
-
-    auto parseResult = parser->parse();
-
-    // release the parser object
-    ParserFactory::freeParser(parser);
-
-    return parseResult;
-}
-
-/*
- * @brief This API retrieves the hardware backup in map
- *
- * @param[in] systemVpdBackupPath - The path that backs up the system VPD.
- * @param[in] backupVpdInvPath - FRU inventory path.
- * @param[in] js - JSON object.
- * @param[out] backupVpdMap - An IPZ VPD map containing the parsed backup VPD.
- *
- * */
-void getBackupVpdInMap(const string& systemVpdBackupPath,
-                       const string& backupVpdInvPath, const nlohmann::json& js,
-                       Parsed& backupVpdMap)
-{
-    PelAdditionalData additionalData{};
-
-    if (!fs::exists(systemVpdBackupPath))
-    {
-        string errorMsg = "Device path ";
-        errorMsg += systemVpdBackupPath;
-        errorMsg += " does not exist";
-
-        additionalData.emplace("DESCRIPTION", errorMsg);
-
-        additionalData.emplace("CALLOUT_INVENTORY_PATH",
-                               INVENTORY_PATH + backupVpdInvPath);
-
-        createPEL(additionalData, PelSeverity::ERROR, errIntfForStreamFail,
-                  nullptr);
-    }
-    else
-    {
-        auto backupVpdParsedResult = parseVpdFile(systemVpdBackupPath, js);
-
-        if (auto pVal = get_if<Store>(&backupVpdParsedResult))
-        {
-            backupVpdMap = pVal->getVpdMap();
-        }
-        else
-        {
-            std::cerr << "Invalid format of VPD in back up. Restore aborted."
-                      << std::endl;
-        }
-    }
-}
-
-void updateVpdDataOnHw(const std::string& vpdFilePath, nlohmann::json& js,
-                       const std::string& recName, const std::string& kwName,
-                       const Binary& kwdData)
-{
-    const std::string& fruInvPath =
-        js["frus"][vpdFilePath][0]["inventoryPath"]
-            .get_ref<const nlohmann::json::string_t&>();
-
-    EditorImpl edit(vpdFilePath, js, recName, kwName, fruInvPath);
-
-    uint32_t offset = 0;
-    // Setup offset, if any
-    for (const auto& item : js["frus"][vpdFilePath])
-    {
-        if (item.find("offset") != item.end())
-        {
-            offset = item["offset"];
-            break;
-        }
-    }
-
-    // update keyword data on to EEPROM file
-    // Note: Updating keyword data on cache is
-    // handled via PIM Notify call hence passing
-    // the updCache flag value as false here.
-    edit.updateKeyword(kwdData, offset, false);
-}
-
-/**
- * @brief API to check if we need to restore system VPD
- * This functionality is only applicable for IPZ VPD data.
-
- * @param[in] vpdMap - IPZ vpd map
- * @param[in] objectPath - Object path for the FRU
- * @param[in] js - JSON Object
- * @param[in] isBackupOnCache - Denotes whether the backup is on cache/hardware
- */
-void restoreSystemVPD(Parsed& vpdMap, const string& objectPath,
-                      nlohmann::json& js, bool isBackupOnCache = true)
-{
-    std::string systemVpdBackupPath{};
-    std::string backupVpdInvPath{};
-    Parsed backupVpdMap{};
-
-    if (!isBackupOnCache)
-    {
-        // Get the value of systemvpdBackupPath field from json
-        systemVpdBackupPath = js["frus"][systemVpdFilePath].at(0).value(
-            "systemVpdBackupPath", "");
-
-        backupVpdInvPath = js["frus"][systemVpdBackupPath][0]["inventoryPath"]
-                               .get_ref<const nlohmann::json::string_t&>();
-
-        getBackupVpdInMap(systemVpdBackupPath, backupVpdInvPath, js,
-                          backupVpdMap);
-
-        if (backupVpdMap.empty())
-        {
-            std::cerr << "Backup VPD map is empty" << std::endl;
-            return;
-        }
-    }
-
-    for (const auto& systemRecKwdPair : svpdKwdMap)
-    {
-        const string& recordName = systemRecKwdPair.first;
-        auto it = vpdMap.find(recordName);
-
-        // check if record is found in map we got by parser
-        if (it != vpdMap.end())
-        {
-            const auto& kwdListForRecord = systemRecKwdPair.second;
-            for (const auto& keywordInfo : kwdListForRecord)
-            {
-                const auto keywordName = get<0>(keywordInfo);
-
-                DbusPropertyMap& kwdValMap = it->second;
-                auto iterator = kwdValMap.find(keywordName);
-
-                if (iterator != kwdValMap.end())
-                {
-                    string& kwdValue = iterator->second;
-
-                    std::string backupValue{};
-                    const auto& defaultValue = get<1>(keywordInfo);
-                    const auto& backupVpdRecName = get<4>(keywordInfo);
-                    const auto& backupVpdKwName = get<5>(keywordInfo);
-
-                    // If the 'isBackupOnCache' flag is false, we need
-                    // to backup the systemVPD on the specified fru's eeprom
-                    // path or restore it from the specified fru's eeprom path.
-                    if (isBackupOnCache)
-                    {
-                        // check bus data
-                        backupValue = readBusProperty(
-                            objectPath, ipzVpdInf + recordName, keywordName);
-                    }
-                    else
-                    {
-                        backupValue = getKwVal(backupVpdMap, backupVpdRecName,
-                                               backupVpdKwName);
-
-                        if (backupValue.empty())
-                        {
-                            string errorMsg{};
-                            if (backupVpdMap.find(backupVpdRecName) ==
-                                backupVpdMap.end())
-                            {
-                                errorMsg = backupVpdRecName +
-                                           " Record does not exist in "
-                                           "the EEPROM file ";
-                            }
-                            else
-                            {
-                                errorMsg = backupVpdKwName +
-                                           " Keyword not found or empty.";
-                            }
-
-                            errorMsg += systemVpdBackupPath;
-
-                            PelAdditionalData additionalData;
-                            additionalData.emplace("DESCRIPTION", errorMsg);
-
-                            createPEL(additionalData, PelSeverity::ERROR,
-                                      errIntfForInvalidVPD, nullptr);
-
-                            continue;
-                        }
-                    }
-
-                    Binary backupDataInBinary(backupValue.begin(),
-                                              backupValue.end());
-
-                    Binary kwdDataInBinary(kwdValue.begin(), kwdValue.end());
-
-                    if (backupDataInBinary != defaultValue)
-                    {
-                        if (kwdDataInBinary != defaultValue)
-                        {
-                            // both the data are present, check for mismatch
-                            if (backupValue != kwdValue)
-                            {
-                                string errMsg = "Mismatch found between backup "
-                                                "and primary VPD for record: ";
-                                errMsg += (*it).first;
-                                errMsg += " and keyword: ";
-                                errMsg += keywordName;
-
-                                std::ostringstream busStream;
-                                for (uint16_t byte : backupValue)
-                                {
-                                    busStream
-                                        << std::setfill('0') << std::setw(2)
-                                        << std::hex << "0x" << byte << " ";
-                                }
-
-                                std::ostringstream vpdStream;
-                                for (uint16_t byte : kwdValue)
-                                {
-                                    vpdStream
-                                        << std::setfill('0') << std::setw(2)
-                                        << std::hex << "0x" << byte << " ";
-                                }
-
-                                // data mismatch
-                                PelAdditionalData additionalData;
-
-                                additionalData.emplace("DESCRIPTION", errMsg);
-                                additionalData.emplace(
-                                    "Value read from Backup: ",
-                                    busStream.str());
-                                additionalData.emplace(
-                                    "Value read from Primary: ",
-                                    vpdStream.str());
-
-                                createPEL(additionalData, PelSeverity::WARNING,
-                                          errIntfForVPDMismatch, nullptr);
-
-                                if (!isBackupOnCache)
-                                {
-                                    // Backing up or restoring from a hardware
-                                    // path does not requires copying the backup
-                                    // data to the VPD map, as this will result
-                                    // in a mismatch between the primary VPD and
-                                    // its cache.
-                                    continue;
-                                }
-                            }
-                            else
-                            {
-                                // both the backup and primary data is
-                                // non-default and same. Nothing needs to be
-                                // done.
-                                continue;
-                            }
-                        }
-
-                        // If the backup is on the cache we need to copy the
-                        // backup data to the VPD map to ensure there is no
-                        // mismatch b/n them. So if backup data is not default,
-                        // then irrespective of primary data(default or other
-                        // than backup), copy the backup data to vpd map as we
-                        // don't need to change the backup data in either case
-                        // in the process of restoring system vpd.
-                        kwdValue = backupValue;
-
-                        // If the backup data is on the base panel the restoring
-                        // of Backup VPD on to the system backplane VPD
-                        // file is done here not through the VPD manager code
-                        // path. This is to have the logic of restoring data on
-                        // to the cache & hardware in the same code path.
-                        if (!isBackupOnCache)
-                        {
-                            // copy backup VPD on to system backplane
-                            // EEPROM  file.
-                            updateVpdDataOnHw(systemVpdFilePath, js, recordName,
-                                              keywordName, backupDataInBinary);
-                        }
-                    }
-                    else if (kwdDataInBinary == defaultValue &&
-                             get<2>(keywordInfo)) // Check isPELRequired is true
-                    {
-                        string errMsg = "Found default value on both backup "
-                                        "and primary VPD for record: ";
-                        errMsg += (*it).first;
-                        errMsg += " and keyword: ";
-                        errMsg += keywordName;
-                        errMsg += ". Update primary VPD.";
-
-                        // mfg default on both backup and primary, log PEL
-                        PelAdditionalData additionalData;
-                        additionalData.emplace("DESCRIPTION", errMsg);
-
-                        createPEL(additionalData, PelSeverity::ERROR,
-                                  errIntfForVPDDefault, nullptr);
-
-                        continue;
-                    }
-                    else if ((kwdDataInBinary != defaultValue) &&
-                             (!isBackupOnCache))
-                    {
-                        // update primary VPD on to backup VPD file
-                        updateVpdDataOnHw(systemVpdBackupPath, js,
-                                          backupVpdRecName, backupVpdKwName,
-                                          kwdDataInBinary);
-
-                        // copy primary VPD to backup VPD to publish on
-                        // DBus
-                        backupVpdMap.find(backupVpdRecName)
-                            ->second.find(backupVpdKwName)
-                            ->second = kwdValue;
-                    }
-                }
-            }
-        }
-    }
-}
-
-/**
- * @brief This checks for is this FRU a processor
- *        And if yes, then checks for is this primary
- *
- * @param[in] js- vpd json to get the information about this FRU
- * @param[in] filePath- FRU vpd
- *
- * @return true/false
- */
-bool isThisPrimaryProcessor(nlohmann::json& js, const string& filePath)
-{
-    bool isProcessor = false;
-    bool isPrimary = false;
-
-    for (const auto& item : js["frus"][filePath])
-    {
-        if (item.find("extraInterfaces") != item.end())
-        {
-            for (const auto& eI : item["extraInterfaces"].items())
-            {
-                if (eI.key().find("Inventory.Item.Cpu") != string::npos)
-                {
-                    isProcessor = true;
-                }
-            }
-        }
-
-        if (isProcessor)
-        {
-            string cpuType = item.value("cpuType", "");
-            if (cpuType == "primary")
-            {
-                isPrimary = true;
-            }
-        }
-    }
-
-    return (isProcessor && isPrimary);
-}
-
-/**
- * @brief This finds DIMM vpd in vpd json and enables them by binding the device
- *        driver
- * @param[in] js- vpd json to iterate through and take action if it is DIMM
- */
-void doEnableAllDimms(nlohmann::json& js)
-{
-    // iterate over each fru
-    for (const auto& eachFru : js["frus"].items())
-    {
-        // skip the driver binding if eeprom already exists
-        if (fs::exists(eachFru.key()))
-        {
-            continue;
-        }
-
-        for (const auto& eachInventory : eachFru.value())
-        {
-            if (eachInventory.find("extraInterfaces") != eachInventory.end())
-            {
-                for (const auto& eI : eachInventory["extraInterfaces"].items())
-                {
-                    if (eI.key().find("Inventory.Item.Dimm") != string::npos)
-                    {
-                        string dimmVpd = eachFru.key();
-                        // fetch it from
-                        // "/sys/bus/i2c/drivers/at24/414-0050/eeprom"
-
-                        regex matchPatern("([0-9]+-[0-9]{4})");
-                        smatch matchFound;
-                        if (regex_search(dimmVpd, matchFound, matchPatern))
-                        {
-                            vector<string> i2cReg;
-                            boost::split(i2cReg, matchFound.str(0),
-                                         boost::is_any_of("-"));
-
-                            // remove 0s from beginning
-                            const regex pattern("^0+(?!$)");
-                            for (auto& i : i2cReg)
-                            {
-                                i = regex_replace(i, pattern, "");
-                            }
-
-                            // For ISDIMM which uses ee1004 driver
-                            // the below is done
-                            size_t stringFound = dimmVpd.find("ee1004");
-                            if (stringFound != string::npos)
-                            {
-                                // echo ee1004 0x50 >
-                                // /sys/bus/i2c/devices/i2c-110/new_device
-                                string cmnd = "echo ee1004 0x" + i2cReg[1] +
-                                              " > /sys/bus/i2c/devices/i2c-" +
-                                              i2cReg[0] + "/new_device";
-                                executeCmd(cmnd);
-                            }
-                            else if (i2cReg.size() == 2)
-                            {
-                                // echo 24c32 0x50 >
-                                // /sys/bus/i2c/devices/i2c-16/new_device
-                                string cmnd = "echo 24c32 0x" + i2cReg[1] +
-                                              " > /sys/bus/i2c/devices/i2c-" +
-                                              i2cReg[0] + "/new_device";
-                                executeCmd(cmnd);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
-
-/**
- * @brief Check if the given CPU is an IO only chip.
- * The CPU is termed as IO, whose all of the cores are bad and can never be
- * used. Those CPU chips can be used for IO purpose like connecting PCIe devices
- * etc., The CPU whose every cores are bad, can be identified from the CP00
- * record's PG keyword, only if all of the 8 EQs' value equals 0xE7F9FF. (1EQ
- * has 4 cores grouped together by sharing its cache memory.)
- * @param [in] pgKeyword - PG Keyword of CPU.
- * @return true if the given cpu is an IO, false otherwise.
- */
-static bool isCPUIOGoodOnly(const string& pgKeyword)
-{
-    const unsigned char io[] = {0xE7, 0xF9, 0xFF, 0xE7, 0xF9, 0xFF, 0xE7, 0xF9,
-                                0xFF, 0xE7, 0xF9, 0xFF, 0xE7, 0xF9, 0xFF, 0xE7,
-                                0xF9, 0xFF, 0xE7, 0xF9, 0xFF, 0xE7, 0xF9, 0xFF};
-    // EQ0 index (in PG keyword) starts at 97 (with offset starting from 0).
-    // Each EQ carries 3 bytes of data. Totally there are 8 EQs. If all EQs'
-    // value equals 0xE7F9FF, then the cpu has no good cores and its treated as
-    // IO.
-    if (memcmp(io, pgKeyword.data() + 97, 24) == 0)
-    {
-        return true;
-    }
-
-    // The CPU is not an IO
-    return false;
-}
-
-/**
- * @brief Function to bring MUX out of idle state
- *
- *        This finds All the MUX defined in the system json and enables
- *        them by setting the holdidle parameter to 0.
- * @param[in] js- system json to iterate through and take action
- */
-void doEnableAllMuxChips(const nlohmann::json& js)
-{
-    // Do we have the mandatory "muxes" section?
-    if (js.find("muxes") != js.end())
-    {
-        std::cout << "Enabling all the MUX on the system " << std::endl;
-        // iterate over each MUX detail and enable them
-        for (const auto& item : js["muxes"])
-        {
-            if (item.find("holdidlepath") != item.end())
-            {
-                const std::string& holdidle = item["holdidlepath"];
-                std::cout << "Setting holdidle state for " << holdidle
-                          << "to 0 " << std::endl;
-                string cmd = "echo 0 > " + holdidle;
-                executeCmd(cmd);
-            }
-        }
-        std::cout << "Completed enabling all the MUX on the system "
-                  << std::endl;
-    }
-    else
-    {
-        std::cout << "No MUX was defined for the system" << std::endl;
-    }
-}
-
-/**
- * @brief Populate Dbus.
- * This method invokes all the populateInterface functions
- * and notifies PIM about dbus object.
- * @param[in] vpdMap - Either IPZ vpd map or Keyword vpd map based on the
- * input.
- * @param[in] js - Inventory json object
- * @param[in] filePath - Path of the vpd file
- * @param[in] preIntrStr - Interface string
- */
-template <typename T>
-static void populateDbus(T& vpdMap, nlohmann::json& js, const string& filePath)
-{
-    inventory::InterfaceMap interfaces;
-    inventory::ObjectMap objects;
-    inventory::PropertyMap prop;
-    string ccinFromVpd;
-
-    bool isSystemVpd = (filePath == systemVpdFilePath);
-    if constexpr (is_same<T, Parsed>::value)
-    {
-        ccinFromVpd = getKwVal(vpdMap, "VINI", "CC");
-        transform(ccinFromVpd.begin(), ccinFromVpd.end(), ccinFromVpd.begin(),
-                  ::toupper);
-
-        if (isSystemVpd)
-        {
-            string mboardPath =
-                js["frus"][filePath].at(0).value("inventoryPath", "");
-
-            // Get the value of systemvpdBackupPath field from json
-            const std::string& systemVpdBackupPath =
-                js["frus"][filePath].at(0).value("systemVpdBackupPath", "");
-
-            if (systemVpdBackupPath.empty())
-            {
-                std::vector<std::string> interfaces = {motherBoardInterface};
-                // call mapper to check for object path creation
-                MapperResponse subTree =
-                    getObjectSubtreeForInterfaces(pimPath, 0, interfaces);
-
-                // Attempt system VPD restore if we have a motherboard
-                // object in the inventory.
-                if ((subTree.size() != 0) &&
-                    (subTree.find(pimPath + mboardPath) != subTree.end()))
-                {
-                    restoreSystemVPD(vpdMap, mboardPath, js);
-                }
-                else
-                {
-                    log<level::ERR>("No object path found");
-                }
-            }
-            else
-            {
-                restoreSystemVPD(vpdMap, mboardPath, js, false);
-            }
-        }
-        else
-        {
-            // check if it is processor vpd.
-            auto isPrimaryCpu = isThisPrimaryProcessor(js, filePath);
-
-            if (isPrimaryCpu)
-            {
-                auto ddVersion = getKwVal(vpdMap, "CRP0", "DD");
-
-                auto chipVersion = atoi(ddVersion.substr(1, 2).c_str());
-
-                if (chipVersion >= 2)
-                {
-                    doEnableAllDimms(js);
-                    // Sleep for a few seconds to let the DIMM parses start
-                    using namespace std::chrono_literals;
-                    std::this_thread::sleep_for(5s);
-                }
-            }
-        }
-    }
-
-    auto processFactoryReset = false;
-
-    if (isSystemVpd)
-    {
-        string systemJsonName{};
-        if constexpr (is_same<T, Parsed>::value)
-        {
-            // pick the right system json
-            systemJsonName = getSystemsJson(vpdMap);
-        }
-
-        fs::path target = systemJsonName;
-        fs::path link = INVENTORY_JSON_SYM_LINK;
-
-        // If the symlink does not exist, we treat that as a factory reset
-        processFactoryReset = !fs::exists(INVENTORY_JSON_SYM_LINK);
-
-        // Create the directory for hosting the symlink
-        fs::create_directories(VPD_FILES_PATH);
-        // unlink the symlink previously created (if any)
-        remove(INVENTORY_JSON_SYM_LINK);
-        // create a new symlink based on the system
-        fs::create_symlink(target, link);
-
-        // Reloading the json
-        ifstream inventoryJson(link);
-        js = json::parse(inventoryJson);
-        inventoryJson.close();
-
-        // enable the muxes again here to cover the case where during first boot
-        // after reset, system would have come up with default JSON
-        // configuration and have skipped enabling mux at the beginning.
-        // Default config JSON does not have mux entries.
-        doEnableAllMuxChips(js);
-    }
-
-    for (const auto& item : js["frus"][filePath])
-    {
-        const auto& objectPath = item["inventoryPath"];
-        sdbusplus::message::object_path object(objectPath);
-
-        vector<string> ccinList;
-        if (item.find("ccin") != item.end())
-        {
-            for (const auto& cc : item["ccin"])
-            {
-                string ccin = cc;
-                transform(ccin.begin(), ccin.end(), ccin.begin(), ::toupper);
-                ccinList.push_back(ccin);
-            }
-        }
-
-        if (!ccinFromVpd.empty() && !ccinList.empty() &&
-            (find(ccinList.begin(), ccinList.end(), ccinFromVpd) ==
-             ccinList.end()))
-        {
-            continue;
-        }
-
-        if ((isSystemVpd) || (item.value("noprime", false)))
-        {
-            // Populate one time properties for the system VPD and its sub-frus
-            // and for other non-primeable frus.
-            // For the remaining FRUs, this will get handled as a part of
-            // priming the inventory.
-            setOneTimeProperties(objectPath, interfaces);
-        }
-
-        // Populate the VPD keywords and the common interfaces only if we
-        // are asked to inherit that data from the VPD, else only add the
-        // extraInterfaces.
-        if (item.value("inherit", true))
-        {
-            if constexpr (is_same<T, Parsed>::value)
-            {
-                // Each record in the VPD becomes an interface and all
-                // keyword within the record are properties under that
-                // interface.
-                for (const auto& record : vpdMap)
-                {
-                    populateFruSpecificInterfaces(
-                        record.second, ipzVpdInf + record.first, interfaces);
-                }
-            }
-            else if constexpr (is_same<T, KeywordVpdMap>::value)
-            {
-                populateFruSpecificInterfaces(vpdMap, kwdVpdInf, interfaces);
-            }
-            if (js.find("commonInterfaces") != js.end())
-            {
-                populateInterfaces(js["commonInterfaces"], interfaces, vpdMap,
-                                   isSystemVpd);
-            }
-        }
-        else
-        {
-            // Check if we have been asked to inherit specific record(s)
-            if constexpr (is_same<T, Parsed>::value)
-            {
-                if (item.find("copyRecords") != item.end())
-                {
-                    for (const auto& record : item["copyRecords"])
-                    {
-                        const string& recordName = record;
-                        if (vpdMap.find(recordName) != vpdMap.end())
-                        {
-                            populateFruSpecificInterfaces(
-                                vpdMap.at(recordName), ipzVpdInf + recordName,
-                                interfaces);
-                        }
-                    }
-                }
-            }
-        }
-        // Populate interfaces and properties that are common to every FRU
-        // and additional interface that might be defined on a per-FRU
-        // basis.
-        if (item.find("extraInterfaces") != item.end())
-        {
-            populateInterfaces(item["extraInterfaces"], interfaces, vpdMap,
-                               isSystemVpd);
-            if constexpr (is_same<T, Parsed>::value)
-            {
-                if (item["extraInterfaces"].find(
-                        "xyz.openbmc_project.Inventory.Item.Cpu") !=
-                    item["extraInterfaces"].end())
-                {
-                    if (isCPUIOGoodOnly(getKwVal(vpdMap, "CP00", "PG")))
-                    {
-                        interfaces[invItemIntf]["PrettyName"] = "IO Module";
-                    }
-                }
-            }
-        }
-
-        // embedded property(true or false) says whether the subfru is embedded
-        // into the parent fru (or) not. VPD sets Present property only for
-        // embedded frus. If the subfru is not an embedded FRU, the subfru may
-        // or may not be physically present. Those non embedded frus will always
-        // have Present=false irrespective of its physical presence or absence.
-        // Eg: nvme drive in nvme slot is not an embedded FRU. So don't set
-        // Present to true for such sub frus.
-        // Eg: ethernet port is embedded into bmc card. So set Present to true
-        // for such sub frus. Also do not populate present property for embedded
-        // subfru which is synthesized. Currently there is no subfru which are
-        // both embedded and synthesized. But still the case is handled here.
-        if ((item.value("embedded", true)) &&
-            (!item.value("synthesized", false)))
-        {
-            // Check if its required to handle presence for this FRU.
-            if (item.value("handlePresence", true))
-            {
-                inventory::PropertyMap presProp;
-                presProp.emplace("Present", true);
-                insertOrMerge(interfaces, invItemIntf, move(presProp));
-            }
-        }
-
-        if constexpr (is_same<T, Parsed>::value)
-        {
-            // Restore asset tag, if needed
-            if (processFactoryReset && objectPath == "/system")
-            {
-                fillAssetTag(interfaces, vpdMap);
-            }
-        }
-
-        objects.emplace(move(object), move(interfaces));
-    }
-
-    if (isSystemVpd)
-    {
-        inventory::ObjectMap primeObject = primeInventory(js, vpdMap);
-        objects.insert(primeObject.begin(), primeObject.end());
-
-        // set the U-boot environment variable for device-tree
-        if constexpr (is_same<T, Parsed>::value)
-        {
-            setDevTreeEnv(fs::path(getSystemsJson(vpdMap)).filename());
-        }
-    }
-
-    // Notify PIM
-    common::utility::callPIM(move(objects));
-}
-
-int main(int argc, char** argv)
-{
-    int rc = 0;
-    json js{};
-    Binary vpdVector{};
-    string file{};
-    string driver{};
-    // map to hold additional data in case of logging pel
-    PelAdditionalData additionalData{};
-
-    // this is needed to hold base fru inventory path in case there is ECC or
-    // vpd exception while parsing the file
-    std::string baseFruInventoryPath = {};
-
-    // It holds the backup EEPROM file path for the system backplane's critical
-    // data
-    std::string systemVpdBackupPath{};
-
-    // It holds the inventory path of backup EEPROM file
-    std::string backupVpdInvPath{};
-
-    bool isSystemVpd = false;
-
-    // severity for PEL
-    PelSeverity pelSeverity = PelSeverity::WARNING;
-
-    try
-    {
-        App app{"ibm-read-vpd - App to read IPZ/Jedec format VPD, parse it and "
-                "store it in DBUS"};
-
-        app.add_option("-f, --file", file, "File containing VPD (IPZ/KEYWORD)")
-            ->required();
-
-        app.add_option("--driver", driver,
-                       "Driver used by kernel (at24,at25,ee1004)")
-            ->required();
-
-        CLI11_PARSE(app, argc, argv);
-
-        // PEL severity should be ERROR in case of any system VPD failure
-        if (file == systemVpdFilePath)
-        {
-            pelSeverity = PelSeverity::ERROR;
-            isSystemVpd = true;
-        }
-
-        // Check if input file is not empty.
-        if ((file.empty()) || (driver.empty()))
-        {
-            std::cerr << "Encountered empty input parameter file [" << file
-                      << "] driver [" << driver << "]" << std::endl;
-            return 0;
-        }
-
-        // Check if currently supported driver or not
-        if ((driver != at24driver) && (driver != at25driver) &&
-            (driver != ee1004driver))
-        {
-            std::cerr << "The driver [" << driver << "] is not supported."
-                      << std::endl;
-            return 0;
-        }
-
-        auto jsonToParse = INVENTORY_JSON_DEFAULT;
-
-        // If the symlink exists, it means it has been setup for us, switch the
-        // path
-        if (fs::exists(INVENTORY_JSON_SYM_LINK))
-        {
-            jsonToParse = INVENTORY_JSON_SYM_LINK;
-        }
-
-        // Make sure that the file path we get is for a supported EEPROM
-        ifstream inventoryJson(jsonToParse);
-        if (!inventoryJson)
-        {
-            throw(VpdJsonException("Failed to access Json path", jsonToParse));
-        }
-
-        try
-        {
-            js = json::parse(inventoryJson);
-        }
-        catch (const json::parse_error& ex)
-        {
-            throw(VpdJsonException("Json parsing failed", jsonToParse));
-        }
-
-        // Do we have the mandatory "frus" section?
-        if (js.find("frus") == js.end())
-        {
-            throw(VpdJsonException("FRUs section not found in JSON",
-                                   jsonToParse));
-        }
-
-        // Check if it's a udev path - patterned as(/ahb/1e780000.apb/ for I2C
-        // or /ahb/1e790000.apb/ for FSI)
-        if (file.find("/ahb:apb") != string::npos ||
-            file.find("/ahb/1e780000.apb") != string::npos ||
-            file.find("/ahb/1e790000.apb") != string::npos)
-        {
-            // Translate udev path to a generic /sys/bus/.. file path.
-            udevToGenericPath(file, driver);
-
-            if ((js["frus"].find(file) != js["frus"].end()) &&
-                (file == systemVpdFilePath))
-            {
-                std::cout << "We have already collected system VPD, skipping."
-                          << std::endl;
-                return 0;
-            }
-        }
-
-        // Enable all mux which are used for connecting to the i2c on the pcie
-        // slots for pcie cards. These are not enabled by kernel due to an issue
-        // seen with Castello cards, where the i2c line hangs on a probe.
-        // To run it only once have kept it under System vpd check.
-        // we need to run this on all BMC reboots so kept here
-        if (file == systemVpdFilePath)
-        {
-            doEnableAllMuxChips(js);
-        }
-
-        if (file.empty())
-        {
-            std::cerr << "The EEPROM path <" << file << "> is not valid.";
-            return 0;
-        }
-        if (js["frus"].find(file) == js["frus"].end())
-        {
-            std::cerr << "The EEPROM path [" << file
-                      << "] is not found in the json." << std::endl;
-            return 0;
-        }
-
-        if (!fs::exists(file))
-        {
-            std::cout << "Device path: " << file
-                      << " does not exist. Spurious udev event? Exiting."
-                      << std::endl;
-            return 0;
-        }
-
-        // In case of system VPD it will already be filled, Don't have to
-        // overwrite that.
-        if (baseFruInventoryPath.empty())
-        {
-            baseFruInventoryPath = js["frus"][file][0]["inventoryPath"];
-        }
-
-        // Check if we can read the VPD file based on the power state
-        // We skip reading VPD when the power is ON in two scenarios:
-        // 1) The eeprom we are trying to read is that of the system VPD and the
-        // JSON symlink is already setup (the symlink's existence tells us we
-        // are not coming out of a factory reset)
-        // 2) The JSON tells us that the FRU EEPROM cannot be
-        // read when we are powered ON.
-        if (js["frus"][file].at(0).value("powerOffOnly", false) ||
-            (file == systemVpdFilePath && fs::exists(INVENTORY_JSON_SYM_LINK)))
-        {
-            if ("xyz.openbmc_project.State.Chassis.PowerState.On" ==
-                getPowerState())
-            {
-                std::cout << "This VPD cannot be read when power is ON"
-                          << std::endl;
-                return 0;
-            }
-        }
-
-        // Check if this VPD should be recollected at all
-        if (!needsRecollection(js, file))
-        {
-            std::cout << "Skip VPD recollection for: " << file << std::endl;
-            return 0;
-        }
-
-        try
-        {
-            variant<KeywordVpdMap, Store> parseResult;
-            parseResult = parseVpdFile(file, js);
-
-            if (isSystemVpd)
-            {
-                // Get the value of systemVpdBackupPath field from json
-                systemVpdBackupPath = js["frus"][systemVpdFilePath].at(0).value(
-                    "systemVpdBackupPath", "");
-
-                if (!systemVpdBackupPath.empty())
-                {
-                    backupVpdInvPath =
-                        js["frus"][systemVpdBackupPath][0]["inventoryPath"]
-                            .get_ref<const nlohmann::json::string_t&>();
-                }
-            }
-
-            if (auto pVal = get_if<Store>(&parseResult))
-            {
-                populateDbus(pVal->getVpdMap(), js, file);
-            }
-            else if (auto pVal = get_if<KeywordVpdMap>(&parseResult))
-            {
-                populateDbus(*pVal, js, file);
-            }
-        }
-        catch (const exception& e)
-        {
-            if (!systemVpdBackupPath.empty())
-            {
-                file = systemVpdBackupPath;
-                baseFruInventoryPath = backupVpdInvPath;
-            }
-
-            executePostFailAction(js, file);
-            throw;
-        }
-    }
-    catch (const VpdJsonException& ex)
-    {
-        additionalData.emplace("JSON_PATH", ex.getJsonPath());
-        additionalData.emplace("DESCRIPTION", ex.what());
-        createPEL(additionalData, pelSeverity, errIntfForJsonFailure, nullptr);
-
-        std::cerr << ex.what() << "\n";
-        rc = -1;
-    }
-    catch (const VpdEccException& ex)
-    {
-        additionalData.emplace("DESCRIPTION", "ECC check failed");
-        additionalData.emplace("CALLOUT_INVENTORY_PATH",
-                               INVENTORY_PATH + baseFruInventoryPath);
-        createPEL(additionalData, pelSeverity, errIntfForEccCheckFail, nullptr);
-
-        if (systemVpdBackupPath.empty())
-        {
-            dumpBadVpd(file, vpdVector);
-        }
-
-        std::cerr << ex.what() << "\n";
-        rc = -1;
-    }
-    catch (const VpdDataException& ex)
-    {
-        if (isThisPcieOnPass1planar(js, file))
-        {
-            std::cout << "Pcie_device  [" << file
-                      << "]'s VPD is not valid on PASS1 planar.Ignoring.\n";
-            rc = 0;
-        }
-        else if (!(isPresent(js, file).value_or(true)))
-        {
-            std::cout << "FRU at: " << file
-                      << " is not detected present. Ignore parser error.\n";
-            rc = 0;
-        }
-        else
-        {
-            string errorMsg =
-                "VPD file is either empty or invalid. Parser failed for [";
-            errorMsg += file;
-            errorMsg += "], with error = " + std::string(ex.what());
-
-            additionalData.emplace("DESCRIPTION", errorMsg);
-            additionalData.emplace("CALLOUT_INVENTORY_PATH",
-                                   INVENTORY_PATH + baseFruInventoryPath);
-            createPEL(additionalData, pelSeverity, errIntfForInvalidVPD,
-                      nullptr);
-
-            rc = -1;
-        }
-    }
-    catch (const exception& e)
-    {
-        dumpBadVpd(file, vpdVector);
-        std::cerr << e.what() << "\n";
-        rc = -1;
-    }
-
-    return rc;
-}
diff --git a/ibm_vpd_utils.cpp b/ibm_vpd_utils.cpp
deleted file mode 100644
index 10bc577..0000000
--- a/ibm_vpd_utils.cpp
+++ /dev/null
@@ -1,1256 +0,0 @@
-#include "config.h"
-
-#include "ibm_vpd_utils.hpp"
-
-#include "common_utility.hpp"
-#include "const.hpp"
-#include "defines.hpp"
-#include "vpd_exceptions.hpp"
-
-#include <boost/algorithm/string.hpp>
-#include <gpiod.hpp>
-#include <nlohmann/json.hpp>
-#include <phosphor-logging/elog-errors.hpp>
-#include <phosphor-logging/log.hpp>
-#include <sdbusplus/server.hpp>
-#include <xyz/openbmc_project/Common/error.hpp>
-
-#include <filesystem>
-#include <fstream>
-#include <iomanip>
-#include <regex>
-#include <sstream>
-#include <vector>
-
-using json = nlohmann::json;
-
-namespace openpower
-{
-namespace vpd
-{
-using namespace openpower::vpd::constants;
-using namespace inventory;
-using namespace phosphor::logging;
-using namespace sdbusplus::xyz::openbmc_project::Common::Error;
-using namespace record;
-using namespace openpower::vpd::exceptions;
-using namespace common::utility;
-using Severity = openpower::vpd::constants::PelSeverity;
-namespace fs = std::filesystem;
-
-// mapping of severity enum to severity interface
-static std::unordered_map<Severity, std::string> sevMap = {
-    {Severity::INFORMATIONAL,
-     "xyz.openbmc_project.Logging.Entry.Level.Informational"},
-    {Severity::DEBUG, "xyz.openbmc_project.Logging.Entry.Level.Debug"},
-    {Severity::NOTICE, "xyz.openbmc_project.Logging.Entry.Level.Notice"},
-    {Severity::WARNING, "xyz.openbmc_project.Logging.Entry.Level.Warning"},
-    {Severity::CRITICAL, "xyz.openbmc_project.Logging.Entry.Level.Critical"},
-    {Severity::EMERGENCY, "xyz.openbmc_project.Logging.Entry.Level.Emergency"},
-    {Severity::ERROR, "xyz.openbmc_project.Logging.Entry.Level.Error"},
-    {Severity::ALERT, "xyz.openbmc_project.Logging.Entry.Level.Alert"}};
-
-namespace inventory
-{
-
-MapperResponse
-    getObjectSubtreeForInterfaces(const std::string& root, const int32_t depth,
-                                  const std::vector<std::string>& interfaces)
-{
-    auto bus = sdbusplus::bus::new_default();
-    auto mapperCall = bus.new_method_call(mapperDestination, mapperObjectPath,
-                                          mapperInterface, "GetSubTree");
-    mapperCall.append(root);
-    mapperCall.append(depth);
-    mapperCall.append(interfaces);
-
-    MapperResponse result = {};
-
-    try
-    {
-        auto response = bus.call(mapperCall);
-
-        response.read(result);
-    }
-    catch (const sdbusplus::exception_t& e)
-    {
-        log<level::ERR>("Error in mapper GetSubTree",
-                        entry("ERROR=%s", e.what()));
-    }
-
-    return result;
-}
-
-MapperGetObjectResponse getObject(const std::string& objectPath,
-                                  const std::vector<std::string>& interfaces)
-{
-    auto bus = sdbusplus::bus::new_default();
-    auto mapperCall = bus.new_method_call(mapperDestination, mapperObjectPath,
-                                          mapperInterface, "GetObject");
-    mapperCall.append(objectPath);
-    mapperCall.append(interfaces);
-
-    MapperGetObjectResponse result = {};
-
-    try
-    {
-        auto response = bus.call(mapperCall);
-
-        response.read(result);
-    }
-    catch (const sdbusplus::exception_t& e)
-    {
-        log<level::ERR>("Error in mapper GetObject",
-                        entry("ERROR=%s", e.what()));
-    }
-
-    return result;
-}
-
-} // namespace inventory
-
-LE2ByteData readUInt16LE(Binary::const_iterator iterator)
-{
-    LE2ByteData lowByte = *iterator;
-    LE2ByteData highByte = *(iterator + 1);
-    lowByte |= (highByte << 8);
-    return lowByte;
-}
-
-/** @brief Encodes a keyword for D-Bus.
- */
-std::string encodeKeyword(const std::string& kw, const std::string& encoding)
-{
-    if (encoding == "MAC")
-    {
-        std::string res{};
-        size_t first = kw[0];
-        res += toHex(first >> 4);
-        res += toHex(first & 0x0f);
-        for (size_t i = 1; i < kw.size(); ++i)
-        {
-            res += ":";
-            res += toHex(kw[i] >> 4);
-            res += toHex(kw[i] & 0x0f);
-        }
-        return res;
-    }
-    else if (encoding == "DATE")
-    {
-        // Date, represent as
-        // <year>-<month>-<day> <hour>:<min>
-        std::string res{};
-        static constexpr uint8_t skipPrefix = 3;
-
-        auto strItr = kw.begin();
-        advance(strItr, skipPrefix);
-        for_each(strItr, kw.end(), [&res](size_t c) { res += c; });
-
-        res.insert(BD_YEAR_END, 1, '-');
-        res.insert(BD_MONTH_END, 1, '-');
-        res.insert(BD_DAY_END, 1, ' ');
-        res.insert(BD_HOUR_END, 1, ':');
-
-        return res;
-    }
-    else // default to string encoding
-    {
-        return std::string(kw.begin(), kw.end());
-    }
-}
-
-std::string readBusProperty(const std::string& obj, const std::string& inf,
-                            const std::string& prop)
-{
-    std::string propVal{};
-    std::string object = INVENTORY_PATH + obj;
-    auto bus = sdbusplus::bus::new_default();
-    auto properties = bus.new_method_call(
-        "xyz.openbmc_project.Inventory.Manager", object.c_str(),
-        "org.freedesktop.DBus.Properties", "Get");
-    properties.append(inf);
-    properties.append(prop);
-    auto result = bus.call(properties);
-    if (!result.is_method_error())
-    {
-        inventory::Value val;
-        result.read(val);
-        if (auto pVal = std::get_if<Binary>(&val))
-        {
-            propVal.assign(reinterpret_cast<const char*>(pVal->data()),
-                           pVal->size());
-        }
-        else if (auto pVal = std::get_if<std::string>(&val))
-        {
-            propVal.assign(pVal->data(), pVal->size());
-        }
-        else if (auto pVal = get_if<bool>(&val))
-        {
-            if (*pVal == false)
-            {
-                propVal = "false";
-            }
-            else
-            {
-                propVal = "true";
-            }
-        }
-    }
-    return propVal;
-}
-
-void createPEL(const std::map<std::string, std::string>& additionalData,
-               const Severity& sev, const std::string& errIntf, sd_bus* sdBus)
-{
-    // This pointer will be NULL in case the call is made from ibm-read-vpd. In
-    // that case a sync call will do.
-    if (sdBus == nullptr)
-    {
-        createSyncPEL(additionalData, sev, errIntf);
-    }
-    else
-    {
-        std::string errDescription{};
-        auto pos = additionalData.find("DESCRIPTION");
-        if (pos != additionalData.end())
-        {
-            errDescription = pos->second;
-        }
-        else
-        {
-            errDescription = "Description field missing in additional data";
-        }
-
-        std::string pelSeverity =
-            "xyz.openbmc_project.Logging.Entry.Level.Error";
-        auto itr = sevMap.find(sev);
-        if (itr != sevMap.end())
-        {
-            pelSeverity = itr->second;
-        }
-
-        // Implies this is a call from Manager. Hence we need to make an async
-        // call to avoid deadlock with Phosphor-logging.
-        auto rc = sd_bus_call_method_async(
-            sdBus, NULL, loggerService, loggerObjectPath, loggerCreateInterface,
-            "Create", NULL, NULL, "ssa{ss}", errIntf.c_str(),
-            pelSeverity.c_str(), 1, "DESCRIPTION", errDescription.c_str());
-
-        if (rc < 0)
-        {
-            log<level::ERR>("Error calling sd_bus_call_method_async",
-                            entry("RC=%d", rc), entry("MSG=%s", strerror(-rc)));
-        }
-    }
-}
-
-void createSyncPEL(const std::map<std::string, std::string>& additionalData,
-                   const Severity& sev, const std::string& errIntf)
-{
-    try
-    {
-        std::string pelSeverity =
-            "xyz.openbmc_project.Logging.Entry.Level.Error";
-        auto bus = sdbusplus::bus::new_default();
-        auto service = getService(bus, loggerObjectPath, loggerCreateInterface);
-        auto method = bus.new_method_call(service.c_str(), loggerObjectPath,
-                                          loggerCreateInterface, "Create");
-
-        auto itr = sevMap.find(sev);
-        if (itr != sevMap.end())
-        {
-            pelSeverity = itr->second;
-        }
-
-        method.append(errIntf, pelSeverity, additionalData);
-        auto resp = bus.call(method);
-    }
-    catch (const sdbusplus::exception_t& e)
-    {
-        std::cerr << "Dbus call to phosphor-logging Create failed. Reason:"
-                  << e.what();
-    }
-}
-
-inventory::VPDfilepath getVpdFilePath(const std::string& jsonFile,
-                                      const std::string& ObjPath)
-{
-    std::ifstream inventoryJson(jsonFile);
-    const auto& jsonObject = json::parse(inventoryJson);
-    inventory::VPDfilepath filePath{};
-
-    if (jsonObject.find("frus") == jsonObject.end())
-    {
-        throw(VpdJsonException(
-            "Invalid JSON structure - frus{} object not found in ", jsonFile));
-    }
-
-    const nlohmann::json& groupFRUS =
-        jsonObject["frus"].get_ref<const nlohmann::json::object_t&>();
-    for (const auto& itemFRUS : groupFRUS.items())
-    {
-        const std::vector<nlohmann::json>& groupEEPROM =
-            itemFRUS.value().get_ref<const nlohmann::json::array_t&>();
-        for (const auto& itemEEPROM : groupEEPROM)
-        {
-            if (itemEEPROM["inventoryPath"]
-                    .get_ref<const nlohmann::json::string_t&>() == ObjPath)
-            {
-                filePath = itemFRUS.key();
-                return filePath;
-            }
-        }
-    }
-
-    return filePath;
-}
-
-bool isPathInJson(const std::string& eepromPath)
-{
-    bool present = false;
-    std::ifstream inventoryJson(INVENTORY_JSON_SYM_LINK);
-
-    try
-    {
-        auto js = json::parse(inventoryJson);
-        if (js.find("frus") == js.end())
-        {
-            throw(VpdJsonException(
-                "Invalid JSON structure - frus{} object not found in ",
-                INVENTORY_JSON_SYM_LINK));
-        }
-        json fruJson = js["frus"];
-
-        if (fruJson.find(eepromPath) != fruJson.end())
-        {
-            present = true;
-        }
-    }
-    catch (const json::parse_error& ex)
-    {
-        throw(VpdJsonException("Json Parsing failed", INVENTORY_JSON_SYM_LINK));
-    }
-    return present;
-}
-
-bool isRecKwInDbusJson(const std::string& recordName,
-                       const std::string& keyword)
-{
-    std::ifstream propertyJson(DBUS_PROP_JSON);
-    json dbusProperty;
-    bool present = false;
-
-    if (propertyJson.is_open())
-    {
-        try
-        {
-            auto dbusPropertyJson = json::parse(propertyJson);
-            if (dbusPropertyJson.find("dbusProperties") ==
-                dbusPropertyJson.end())
-            {
-                throw(VpdJsonException("dbusProperties{} object not found in "
-                                       "DbusProperties json : ",
-                                       DBUS_PROP_JSON));
-            }
-
-            dbusProperty = dbusPropertyJson["dbusProperties"];
-            if (dbusProperty.contains(recordName))
-            {
-                const std::vector<std::string>& kwdsToPublish =
-                    dbusProperty[recordName];
-                if (find(kwdsToPublish.begin(), kwdsToPublish.end(), keyword) !=
-                    kwdsToPublish.end()) // present
-                {
-                    present = true;
-                }
-            }
-        }
-        catch (const json::parse_error& ex)
-        {
-            throw(VpdJsonException("Json Parsing failed", DBUS_PROP_JSON));
-        }
-    }
-    else
-    {
-        // If dbus properties json is not available, we assume the given
-        // record-keyword is part of dbus-properties json. So setting the bool
-        // variable to true.
-        present = true;
-    }
-    return present;
-}
-
-vpdType vpdTypeCheck(const Binary& vpdVector)
-{
-    // Read first 3 Bytes to check the 11S bar code format
-    std::string is11SFormat = "";
-    for (uint8_t i = 0; i < FORMAT_11S_LEN; i++)
-    {
-        is11SFormat += vpdVector[MEMORY_VPD_DATA_START + i];
-    }
-
-    if (vpdVector[IPZ_DATA_START] == KW_VAL_PAIR_START_TAG)
-    {
-        // IPZ VPD FORMAT
-        return vpdType::IPZ_VPD;
-    }
-    else if (vpdVector[KW_VPD_DATA_START] == KW_VPD_START_TAG)
-    {
-        // KEYWORD VPD FORMAT
-        return vpdType::KEYWORD_VPD;
-    }
-    else if (((vpdVector[SPD_BYTE_3] & SPD_BYTE_BIT_0_3_MASK) ==
-              SPD_MODULE_TYPE_DDIMM) &&
-             (is11SFormat.compare(MEMORY_VPD_START_TAG) == 0))
-    {
-        // DDIMM Memory VPD format
-        if ((vpdVector[SPD_BYTE_2] & SPD_BYTE_MASK) == SPD_DRAM_TYPE_DDR5)
-        {
-            return vpdType::DDR5_DDIMM_MEMORY_VPD;
-        }
-        else if ((vpdVector[SPD_BYTE_2] & SPD_BYTE_MASK) == SPD_DRAM_TYPE_DDR4)
-        {
-            return vpdType::DDR4_DDIMM_MEMORY_VPD;
-        }
-    }
-    else if ((vpdVector[SPD_BYTE_2] & SPD_BYTE_MASK) == SPD_DRAM_TYPE_DDR5)
-    {
-        // ISDIMM Memory VPD format
-        return vpdType::DDR5_ISDIMM_MEMORY_VPD;
-    }
-    else if ((vpdVector[SPD_BYTE_2] & SPD_BYTE_MASK) == SPD_DRAM_TYPE_DDR4)
-    {
-        // ISDIMM Memory VPD format
-        return vpdType::DDR4_ISDIMM_MEMORY_VPD;
-    }
-
-    // INVALID VPD FORMAT
-    return vpdType::INVALID_VPD_FORMAT;
-}
-
-const std::string getIM(const Parsed& vpdMap)
-{
-    Binary imVal;
-    auto property = vpdMap.find("VSBP");
-    if (property != vpdMap.end())
-    {
-        auto kw = (property->second).find("IM");
-        if (kw != (property->second).end())
-        {
-            copy(kw->second.begin(), kw->second.end(), back_inserter(imVal));
-        }
-    }
-
-    std::ostringstream oss;
-    for (auto& i : imVal)
-    {
-        oss << std::setw(2) << std::setfill('0') << std::hex
-            << static_cast<int>(i);
-    }
-
-    return oss.str();
-}
-
-const std::string getHW(const Parsed& vpdMap)
-{
-    Binary hwVal;
-    auto prop = vpdMap.find("VINI");
-    if (prop != vpdMap.end())
-    {
-        auto kw = (prop->second).find("HW");
-        if (kw != (prop->second).end())
-        {
-            copy(kw->second.begin(), kw->second.end(), back_inserter(hwVal));
-        }
-    }
-
-    // The planar pass only comes from the LSB of the HW keyword,
-    // where as the MSB is used for other purposes such as signifying clock
-    // termination.
-    hwVal[0] = 0x00;
-
-    std::ostringstream hwString;
-    for (auto& i : hwVal)
-    {
-        hwString << std::setw(2) << std::setfill('0') << std::hex
-                 << static_cast<int>(i);
-    }
-
-    return hwString.str();
-}
-
-std::string getSystemsJson(const Parsed& vpdMap)
-{
-    std::string jsonPath = "/usr/share/vpd/";
-    std::string jsonName{};
-
-    std::ifstream systemJson(SYSTEM_JSON);
-    if (!systemJson)
-    {
-        throw((VpdJsonException("Failed to access Json path", SYSTEM_JSON)));
-    }
-
-    try
-    {
-        auto js = json::parse(systemJson);
-
-        std::string hwKeyword = getHW(vpdMap);
-        const std::string imKeyword = getIM(vpdMap);
-
-        transform(hwKeyword.begin(), hwKeyword.end(), hwKeyword.begin(),
-                  ::toupper);
-
-        if (js.find("system") == js.end())
-        {
-            throw std::runtime_error("Invalid systems Json");
-        }
-
-        if (js["system"].find(imKeyword) == js["system"].end())
-        {
-            throw std::runtime_error(
-                "Invalid system. This system type is not present "
-                "in the systemsJson. IM: " +
-                imKeyword);
-        }
-
-        if ((js["system"][imKeyword].find("constraint") !=
-             js["system"][imKeyword].end()) &&
-            js["system"][imKeyword]["constraint"].find("HW") !=
-                js["system"][imKeyword]["constraint"].end())
-        {
-            // collect hw versions from json, and check hwKeyword  is part of it
-            // if hwKeyword is found there then load respective json
-            // otherwise load default one.
-            for (const auto& hwVersion :
-                 js["system"][imKeyword]["constraint"]["HW"])
-            {
-                std::string hw = hwVersion;
-                transform(hw.begin(), hw.end(), hw.begin(), ::toupper);
-
-                if (hw == hwKeyword)
-                {
-                    jsonName = js["system"][imKeyword]["constraint"]["json"];
-                    break;
-                }
-            }
-
-            if (jsonName.empty() && js["system"][imKeyword].find("default") !=
-                                        js["system"][imKeyword].end())
-            {
-                jsonName = js["system"][imKeyword]["default"];
-            }
-        }
-        else if (js["system"][imKeyword].find("default") !=
-                 js["system"][imKeyword].end())
-        {
-            jsonName = js["system"][imKeyword]["default"];
-        }
-        else
-        {
-            throw std::runtime_error(
-                "Bad System json. Neither constraint nor default found");
-        }
-
-        jsonPath += jsonName;
-    }
-
-    catch (const json::parse_error& ex)
-    {
-        throw(VpdJsonException("Json Parsing failed", SYSTEM_JSON));
-    }
-    return jsonPath;
-}
-
-void udevToGenericPath(std::string& file, const std::string& driver)
-{
-    // Sample udevEvent i2c path :
-    // "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a480.i2c-bus/i2c-8/8-0051/8-00510/nvmem"
-    // find if the path contains the word i2c in it.
-    if (file.find("i2c") != std::string::npos)
-    {
-        std::string i2cBusAddr{};
-
-        // Every udev i2c path should have the common pattern
-        // "i2c-bus_number/bus_number-vpd_address". Search for
-        // "bus_number-vpd_address".
-        std::regex i2cPattern("((i2c)-[0-9]+\\/)([0-9]+-[0-9]{4})");
-        std::smatch match;
-        if (std::regex_search(file, match, i2cPattern))
-        {
-            i2cBusAddr = match.str(3);
-        }
-        else
-        {
-            std::cerr << "The given udev path < " << file
-                      << " > doesn't match the required pattern. Skipping VPD "
-                         "collection."
-                      << std::endl;
-            exit(EXIT_SUCCESS);
-        }
-        // Forming the generic file path
-        file = i2cPathPrefix + driver + "/" + i2cBusAddr + "/eeprom";
-    }
-    // Sample udevEvent spi path :
-    // "/sys/devices/platform/ahb/ahb:apb/1e79b000.fsi/fsi-master/fsi0/slave@00:00/00:00:00:04/spi_master/spi2/spi2.0/spi2.00/nvmem"
-    // find if the path contains the word spi in it.
-    else if (file.find("spi") != std::string::npos)
-    {
-        // Every udev spi path will have common pattern "spi<Digit>/", which
-        // describes the spi bus number at which the fru is connected; Followed
-        // by a slash following the vpd address of the fru. Taking the above
-        // input as a common key, we try to search for the pattern "spi<Digit>/"
-        // using regular expression.
-        std::regex spiPattern("((spi)[0-9]+)(\\/)");
-        std::string spiBus{};
-        std::smatch match;
-        if (std::regex_search(file, match, spiPattern))
-        {
-            spiBus = match.str(1);
-        }
-        else
-        {
-            std::cerr << "The given udev path < " << file
-                      << " > doesn't match the required pattern. Skipping VPD "
-                         "collection."
-                      << std::endl;
-            exit(EXIT_SUCCESS);
-        }
-        // Forming the generic path
-        file = spiPathPrefix + driver + "/" + spiBus + ".0/eeprom";
-    }
-    else
-    {
-        std::cerr << "\n The given EEPROM path < " << file
-                  << " > is not valid. It's neither I2C nor "
-                     "SPI path. Skipping VPD collection.."
-                  << std::endl;
-        exit(EXIT_SUCCESS);
-    }
-}
-std::string getBadVpdName(const std::string& file)
-{
-    std::string badVpd = BAD_VPD_DIR;
-    if (file.find("i2c") != std::string::npos)
-    {
-        badVpd += "i2c-";
-        std::regex i2cPattern("(at24/)([0-9]+-[0-9]+)\\/");
-        std::smatch match;
-        if (std::regex_search(file, match, i2cPattern))
-        {
-            badVpd += match.str(2);
-        }
-    }
-    else if (file.find("spi") != std::string::npos)
-    {
-        std::regex spiPattern("((spi)[0-9]+)(.0)");
-        std::smatch match;
-        if (std::regex_search(file, match, spiPattern))
-        {
-            badVpd += match.str(1);
-        }
-    }
-    return badVpd;
-}
-
-void dumpBadVpd(const std::string& file, const Binary& vpdVector)
-{
-    fs::path badVpdDir = BAD_VPD_DIR;
-    fs::create_directory(badVpdDir);
-    std::string badVpdPath = getBadVpdName(file);
-    if (fs::exists(badVpdPath))
-    {
-        std::error_code ec;
-        fs::remove(badVpdPath, ec);
-        if (ec) // error code
-        {
-            std::string error = "Error removing the existing broken vpd in ";
-            error += badVpdPath;
-            error += ". Error code : ";
-            error += ec.value();
-            error += ". Error message : ";
-            error += ec.message();
-            throw std::runtime_error(error);
-        }
-    }
-    std::ofstream badVpdFileStream(badVpdPath, std::ofstream::binary);
-    if (!badVpdFileStream)
-    {
-        throw std::runtime_error(
-            "Failed to open bad vpd file path in /tmp/bad-vpd. "
-            "Unable to dump the broken/bad vpd file.");
-    }
-    badVpdFileStream.write(reinterpret_cast<const char*>(vpdVector.data()),
-                           vpdVector.size());
-}
-
-const std::string getKwVal(const Parsed& vpdMap, const std::string& rec,
-                           const std::string& kwd)
-{
-    std::string kwVal{};
-
-    auto findRec = vpdMap.find(rec);
-
-    // check if record is found in map we got by parser
-    if (findRec != vpdMap.end())
-    {
-        auto findKwd = findRec->second.find(kwd);
-
-        if (findKwd != findRec->second.end())
-        {
-            kwVal = findKwd->second;
-        }
-        else
-        {
-            std::cout << "Keyword not found" << std::endl;
-        }
-    }
-    else
-    {
-        std::cerr << "Record not found" << std::endl;
-    }
-
-    return kwVal;
-}
-
-std::string hexString(const std::variant<Binary, std::string>& kw)
-{
-    std::string hexString;
-    std::visit(
-        [&hexString](auto&& kw) {
-            std::stringstream ss;
-            std::string hexRep = "0x";
-            ss << hexRep;
-            for (auto& kwVal : kw)
-            {
-                ss << std::setfill('0') << std::setw(2) << std::hex
-                   << static_cast<int>(kwVal);
-            }
-            hexString = ss.str();
-        },
-        kw);
-    return hexString;
-}
-
-std::string getPrintableValue(const std::variant<Binary, std::string>& kwVal)
-{
-    std::string kwString{};
-    std::visit(
-        [&kwString](auto&& kwVal) {
-            const auto it =
-                std::find_if(kwVal.begin(), kwVal.end(),
-                             [](const auto& kw) { return !isprint(kw); });
-            if (it != kwVal.end())
-            {
-                kwString = hexString(kwVal);
-            }
-            else
-            {
-                kwString = std::string(kwVal.begin(), kwVal.end());
-            }
-        },
-        kwVal);
-    return kwString;
-}
-
-void executePostFailAction(const nlohmann::json& json, const std::string& file)
-{
-    if ((json["frus"][file].at(0)).find("postActionFail") ==
-        json["frus"][file].at(0).end())
-    {
-        return;
-    }
-
-    uint8_t pinValue = 0;
-    std::string pinName;
-
-    for (const auto& postAction :
-         (json["frus"][file].at(0))["postActionFail"].items())
-    {
-        if (postAction.key() == "pin")
-        {
-            pinName = postAction.value();
-        }
-        else if (postAction.key() == "value")
-        {
-            // Get the value to set
-            pinValue = postAction.value();
-        }
-    }
-
-    std::cout << "Setting GPIO: " << pinName << " to " << (int)pinValue
-              << std::endl;
-
-    try
-    {
-        gpiod::line outputLine = gpiod::find_line(pinName);
-
-        if (!outputLine)
-        {
-            throw GpioException(
-                "Couldn't find output line for the GPIO. Skipping "
-                "this GPIO action.");
-        }
-        outputLine.request(
-            {"Disable line", ::gpiod::line_request::DIRECTION_OUTPUT, 0},
-            pinValue);
-    }
-    catch (const std::exception& e)
-    {
-        std::string i2cBusAddr;
-        std::string errMsg = e.what();
-        errMsg += "\nGPIO: " + pinName;
-
-        if ((json["frus"][file].at(0)["postActionFail"].find(
-                "gpioI2CAddress")) !=
-            json["frus"][file].at(0)["postActionFail"].end())
-        {
-            i2cBusAddr =
-                json["frus"][file].at(0)["postActionFail"]["gpioI2CAddress"];
-            errMsg += " i2cBusAddress: " + i2cBusAddr;
-        }
-
-        throw GpioException(e.what());
-    }
-
-    return;
-}
-
-std::optional<bool> isPresent(const nlohmann::json& json,
-                              const std::string& file)
-
-{
-    if ((json["frus"][file].at(0)).find("presence") !=
-        json["frus"][file].at(0).end())
-    {
-        if (((json["frus"][file].at(0)["presence"]).find("pin") !=
-             json["frus"][file].at(0)["presence"].end()) &&
-            ((json["frus"][file].at(0)["presence"]).find("value") !=
-             json["frus"][file].at(0)["presence"].end()))
-        {
-            std::string presPinName =
-                json["frus"][file].at(0)["presence"]["pin"];
-            Byte presPinValue = json["frus"][file].at(0)["presence"]["value"];
-
-            try
-            {
-                gpiod::line presenceLine = gpiod::find_line(presPinName);
-
-                if (!presenceLine)
-                {
-                    std::cerr << "Couldn't find the presence line for - "
-                              << presPinName << std::endl;
-
-                    throw GpioException(
-                        "Couldn't find the presence line for the "
-                        "GPIO. Skipping this GPIO action.");
-                }
-
-                presenceLine.request({"Read the presence line",
-                                      gpiod::line_request::DIRECTION_INPUT, 0});
-
-                Byte gpioData = presenceLine.get_value();
-
-                return (gpioData == presPinValue);
-            }
-            catch (const std::exception& e)
-            {
-                std::string i2cBusAddr;
-                std::string errMsg = e.what();
-                errMsg += " GPIO : " + presPinName;
-
-                if ((json["frus"][file].at(0)["presence"])
-                        .find("gpioI2CAddress") !=
-                    json["frus"][file].at(0)["presence"].end())
-                {
-                    i2cBusAddr =
-                        json["frus"][file].at(0)["presence"]["gpioI2CAddress"];
-                    errMsg += " i2cBusAddress: " + i2cBusAddr;
-                }
-
-                // Take failure postAction
-                executePostFailAction(json, file);
-                throw GpioException(errMsg);
-            }
-        }
-        else
-        {
-            // missing required information
-            std::cerr
-                << "VPD inventory JSON missing basic information of presence "
-                   "for this FRU : ["
-                << file << "]. Executing executePostFailAction." << std::endl;
-
-            // Take failure postAction
-            executePostFailAction(json, file);
-
-            return false;
-        }
-    }
-    return std::optional<bool>{};
-}
-
-bool executePreAction(const nlohmann::json& json, const std::string& file)
-{
-    auto present = isPresent(json, file);
-    if (present && !present.value())
-    {
-        executePostFailAction(json, file);
-        return false;
-    }
-
-    if ((json["frus"][file].at(0)).find("preAction") !=
-        json["frus"][file].at(0).end())
-    {
-        if (((json["frus"][file].at(0)["preAction"]).find("pin") !=
-             json["frus"][file].at(0)["preAction"].end()) &&
-            ((json["frus"][file].at(0)["preAction"]).find("value") !=
-             json["frus"][file].at(0)["preAction"].end()))
-        {
-            std::string pinName = json["frus"][file].at(0)["preAction"]["pin"];
-            // Get the value to set
-            Byte pinValue = json["frus"][file].at(0)["preAction"]["value"];
-
-            std::cout << "Setting GPIO: " << pinName << " to " << (int)pinValue
-                      << std::endl;
-            try
-            {
-                gpiod::line outputLine = gpiod::find_line(pinName);
-
-                if (!outputLine)
-                {
-                    std::cerr << "Couldn't find the line for output pin - "
-                              << pinName << std::endl;
-                    throw GpioException(
-                        "Couldn't find output line for the GPIO. "
-                        "Skipping this GPIO action.");
-                }
-                outputLine.request({"FRU pre-action",
-                                    ::gpiod::line_request::DIRECTION_OUTPUT, 0},
-                                   pinValue);
-            }
-            catch (const std::exception& e)
-            {
-                std::string i2cBusAddr;
-                std::string errMsg = e.what();
-                errMsg += " GPIO : " + pinName;
-
-                if ((json["frus"][file].at(0)["preAction"])
-                        .find("gpioI2CAddress") !=
-                    json["frus"][file].at(0)["preAction"].end())
-                {
-                    i2cBusAddr =
-                        json["frus"][file].at(0)["preAction"]["gpioI2CAddress"];
-                    errMsg += " i2cBusAddress: " + i2cBusAddr;
-                }
-
-                // Take failure postAction
-                executePostFailAction(json, file);
-                throw GpioException(errMsg);
-            }
-        }
-        else
-        {
-            // missing required information
-            std::cerr
-                << "VPD inventory JSON missing basic information of preAction "
-                   "for this FRU : ["
-                << file << "]. Executing executePostFailAction." << std::endl;
-
-            // Take failure postAction
-            executePostFailAction(json, file);
-            return false;
-        }
-    }
-    return true;
-}
-
-void insertOrMerge(inventory::InterfaceMap& map,
-                   const inventory::Interface& interface,
-                   inventory::PropertyMap&& property)
-{
-    if (map.find(interface) != map.end())
-    {
-        auto& prop = map.at(interface);
-        prop.insert(property.begin(), property.end());
-    }
-    else
-    {
-        map.emplace(interface, property);
-    }
-}
-
-BIOSAttrValueType readBIOSAttribute(const std::string& attrName)
-{
-    std::tuple<std::string, BIOSAttrValueType, BIOSAttrValueType> attrVal;
-    auto bus = sdbusplus::bus::new_default();
-    auto method = bus.new_method_call(
-        "xyz.openbmc_project.BIOSConfigManager",
-        "/xyz/openbmc_project/bios_config/manager",
-        "xyz.openbmc_project.BIOSConfig.Manager", "GetAttribute");
-    method.append(attrName);
-    try
-    {
-        auto result = bus.call(method);
-        result.read(std::get<0>(attrVal), std::get<1>(attrVal),
-                    std::get<2>(attrVal));
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        std::cerr << "Failed to read BIOS Attribute: " << attrName << std::endl;
-        std::cerr << e.what() << std::endl;
-    }
-    return std::get<1>(attrVal);
-}
-
-std::string getPowerState()
-{
-    // TODO: How do we handle multiple chassis?
-    std::string powerState{};
-    auto bus = sdbusplus::bus::new_default();
-    auto properties =
-        bus.new_method_call("xyz.openbmc_project.State.Chassis0",
-                            "/xyz/openbmc_project/state/chassis0",
-                            "org.freedesktop.DBus.Properties", "Get");
-    properties.append("xyz.openbmc_project.State.Chassis");
-    properties.append("CurrentPowerState");
-    auto result = bus.call(properties);
-    if (!result.is_method_error())
-    {
-        std::variant<std::string> val;
-        result.read(val);
-        if (auto pVal = std::get_if<std::string>(&val))
-        {
-            powerState = *pVal;
-        }
-    }
-    std::cout << "Power state is: " << powerState << std::endl;
-    return powerState;
-}
-
-Binary getVpdDataInVector(const nlohmann::json& js, const std::string& file)
-{
-    uint32_t offset = 0;
-    // check if offset present?
-    for (const auto& item : js["frus"][file])
-    {
-        if (item.find("offset") != item.end())
-        {
-            offset = item["offset"];
-        }
-    }
-
-    // TODO: Figure out a better way to get max possible VPD size.
-    auto maxVPDSize = std::min(std::filesystem::file_size(file),
-                               static_cast<uintmax_t>(65504));
-
-    Binary vpdVector;
-    vpdVector.resize(maxVPDSize);
-    std::ifstream vpdFile;
-    vpdFile.exceptions(std::ifstream::badbit | std::ifstream::failbit);
-    try
-    {
-        vpdFile.open(file, std::ios::binary | std::ios::in);
-        vpdFile.seekg(offset, std::ios_base::cur);
-        vpdFile.read(reinterpret_cast<char*>(&vpdVector[0]), maxVPDSize);
-        vpdVector.resize(vpdFile.gcount());
-    }
-    catch (const std::ifstream::failure& fail)
-    {
-        std::cerr << "Exception in file handling [" << file
-                  << "] error : " << fail.what();
-        std::cerr << "EEPROM file size =" << std::filesystem::file_size(file)
-                  << std::endl;
-        std::cerr << "Stream file size = " << vpdFile.gcount() << std::endl;
-        std::cerr << " Vector size" << vpdVector.size() << std::endl;
-        throw;
-    }
-
-    // Make sure we reset the EEPROM pointer to a "safe" location if it was
-    // a DDIMM SPD that we just read.
-    for (const auto& item : js["frus"][file])
-    {
-        if (item.find("extraInterfaces") != item.end())
-        {
-            if (item["extraInterfaces"].find(
-                    "xyz.openbmc_project.Inventory.Item.Dimm") !=
-                item["extraInterfaces"].end())
-            {
-                // check added here for DDIMM only workaround
-                vpdType dimmType = vpdTypeCheck(vpdVector);
-                if (dimmType == constants::DDR4_DDIMM_MEMORY_VPD ||
-                    dimmType == constants::DDR5_DDIMM_MEMORY_VPD)
-                {
-                    try
-                    {
-                        // moves the EEPROM pointer to 2048 'th byte.
-                        vpdFile.seekg(2047, std::ios::beg);
-                        // Read that byte and discard - to affirm the move
-                        // operation.
-                        char ch;
-                        vpdFile.read(&ch, sizeof(ch));
-                    }
-                    catch (const std::ifstream::failure& fail)
-                    {
-                        std::cerr << "Exception in file handling [" << file
-                                  << "] error : " << fail.what();
-                        std::cerr << "Stream file size = " << vpdFile.gcount()
-                                  << std::endl;
-                        throw;
-                    }
-                }
-                break;
-            }
-        }
-    }
-
-    return vpdVector;
-}
-
-std::string getDbusNameForThisKw(const std::string& keyword)
-{
-    if (keyword[0] == constants::POUND_KW)
-    {
-        return (std::string(constants::POUND_KW_PREFIX) + keyword[1]);
-    }
-    else if (isdigit(keyword[0]))
-    {
-        return (std::string(constants::NUMERIC_KW_PREFIX) + keyword);
-    }
-    return keyword;
-}
-
-void clearVpdOnRemoval(const std::string& objPath,
-                       inventory::InterfaceMap& interfacesPropMap)
-{
-    std::vector<std::string> vpdRelatedInterfaces{
-        constants::invOperationalStatusIntf, constants::invItemIntf,
-        constants::invAssetIntf};
-
-    std::vector<std::string> interfaces{};
-    auto mapperResponse = inventory::getObject(objPath, interfaces);
-
-    for (const auto& [service, interfaceList] : mapperResponse)
-    {
-        // Handle FRUs under PIM
-        if (service.compare(pimService) != 0)
-        {
-            continue;
-        }
-
-        for (const auto& interface : interfaceList)
-        {
-            // Only process for VPD related interfaces.
-            if ((interface.find("com.ibm.ipzvpd") != std::string::npos) ||
-                ((std::find(vpdRelatedInterfaces.begin(),
-                            vpdRelatedInterfaces.end(), interface)) !=
-                 vpdRelatedInterfaces.end()))
-            {
-                const auto propertyList = getAllDBusProperty<GetAllResultType>(
-                    service, objPath, interface);
-
-                inventory::PropertyMap propertyValueMap;
-                for (auto aProperty : propertyList)
-                {
-                    const auto& propertyName = std::get<0>(aProperty);
-                    const auto& propertyValue = std::get<1>(aProperty);
-
-                    if (std::holds_alternative<Binary>(propertyValue))
-                    {
-                        propertyValueMap.emplace(propertyName, Binary{});
-                    }
-                    else if (std::holds_alternative<std::string>(propertyValue))
-                    {
-                        propertyValueMap.emplace(propertyName, std::string{});
-                    }
-                    else if (std::holds_alternative<bool>(propertyValue))
-                    {
-                        if (propertyName.compare("Present") == 0)
-                        {
-                            propertyValueMap.emplace(propertyName, false);
-                        }
-                        else if (propertyName.compare("Functional") == 0)
-                        {
-                            propertyValueMap.emplace(propertyName, true);
-                        }
-                    }
-                }
-                interfacesPropMap.emplace(interface,
-                                          std::move(propertyValueMap));
-            }
-        }
-    }
-}
-
-void findBackupVPDPaths(std::string& backupEepromPath,
-                        std::string& backupInvPath, const nlohmann::json& js)
-{
-    for (const auto& item : js["frus"][constants::systemVpdFilePath])
-    {
-        if (item.find("systemVpdBackupPath") != item.end())
-        {
-            backupEepromPath = item["systemVpdBackupPath"];
-            for (const auto& item : js["frus"][backupEepromPath])
-            {
-                if (item.find("inventoryPath") != item.end())
-                {
-                    backupInvPath = item["inventoryPath"];
-                    break;
-                }
-            }
-            break;
-        }
-    }
-}
-
-void getBackupRecordKeyword(std::string& record, std::string& keyword)
-{
-    for (const auto& recordKw : svpdKwdMap)
-    {
-        if (record == recordKw.first)
-        {
-            for (const auto& keywordInfo : recordKw.second)
-            {
-                if (keyword == get<0>(keywordInfo))
-                {
-                    record = get<4>(keywordInfo);
-                    keyword = get<5>(keywordInfo);
-                    break;
-                }
-            }
-            break;
-        }
-    }
-}
-
-bool isReadOnlyEEPROM(const std::string& vpdPath,
-                      const nlohmann::json& jsObject)
-{
-    // check if given path is FRU path
-    if (jsObject["frus"].contains(vpdPath))
-    {
-        return jsObject["frus"][vpdPath].at(0).value("readOnly", false);
-    }
-
-    const nlohmann::json& fruList =
-        jsObject["frus"].get_ref<const nlohmann::json::object_t&>();
-
-    for (const auto& fru : fruList.items())
-    {
-        const auto fruPath = fru.key();
-
-        // If given VPD path is either the inventory path or redundant EEPROM
-        // path.
-        if ((vpdPath ==
-             jsObject["frus"][fruPath].at(0).value("inventoryPath", "")) ||
-            (vpdPath ==
-             jsObject["frus"][fruPath].at(0).value("redundantEeprom", "")))
-        {
-            return jsObject["frus"][fruPath].at(0).value("readOnly", false);
-        }
-    }
-
-    // Given path not found in JSON
-    return false;
-}
-} // namespace vpd
-} // namespace openpower
diff --git a/ibm_vpd_utils.hpp b/ibm_vpd_utils.hpp
deleted file mode 100644
index e34ba35..0000000
--- a/ibm_vpd_utils.hpp
+++ /dev/null
@@ -1,580 +0,0 @@
-#pragma once
-
-#include "const.hpp"
-#include "store.hpp"
-#include "types.hpp"
-
-#include <nlohmann/json.hpp>
-
-#include <iostream>
-#include <optional>
-#include <variant>
-
-namespace openpower
-{
-namespace vpd
-{
-
-// Map which holds system vpd keywords which can be restored at standby and via
-// vpd-tool and also can be used to reset keywords to its defaults at
-// manufacturing. The list of keywords for VSYS record is as per the S0 system.
-// Should be updated for another type of systems For those keywords whose
-// default value is system specific, the default value field is left empty.
-// Record : {Keyword, Default value, Is PEL required on restore failure, Is MFG
-// reset required, backupVpdRecName, backupVpdKwName}
-static const inventory::SystemKeywordsMap svpdKwdMap{
-    {"VSYS",
-     {inventory::SystemKeywordInfo("BR", Binary(2, 0x20), true, true, "VSBK",
-                                   "BR"),
-      inventory::SystemKeywordInfo("TM", Binary(8, 0x20), true, true, "VSBK",
-                                   "TM"),
-      inventory::SystemKeywordInfo("SE", Binary(7, 0x20), true, true, "VSBK",
-                                   "SE"),
-      inventory::SystemKeywordInfo("SU", Binary(6, 0x20), true, true, "VSBK",
-                                   "SU"),
-      inventory::SystemKeywordInfo("RB", Binary(4, 0x20), true, true, "VSBK",
-                                   "RB"),
-      inventory::SystemKeywordInfo("WN", Binary(12, 0x20), true, true, "VSBK",
-                                   "WN"),
-      inventory::SystemKeywordInfo("RG", Binary(4, 0x20), true, true, "VSBK",
-                                   "RG"),
-      inventory::SystemKeywordInfo("FV", Binary(32, 0x20), false, true, "VSBK",
-                                   "FV")}},
-    {"VCEN",
-     {inventory::SystemKeywordInfo("FC", Binary(8, 0x20), true, false, "VSBK",
-                                   "FC"),
-      inventory::SystemKeywordInfo("SE", Binary(7, 0x20), true, true, "VSBK",
-                                   "ES")}},
-    {"LXR0",
-     {inventory::SystemKeywordInfo("LX", Binary(8, 0x00), true, false, "VSBK",
-                                   "LX")}},
-    {"UTIL",
-     {inventory::SystemKeywordInfo("D0", Binary(1, 0x00), true, true, "VSBK",
-                                   "D0"),
-      inventory::SystemKeywordInfo("D1", Binary(1, 0x00), false, true, "VSBK",
-                                   "D1"),
-      inventory::SystemKeywordInfo("F0", Binary(8, 0x00), false, true, "VSBK",
-                                   "F0"),
-      inventory::SystemKeywordInfo("F5", Binary(16, 0x00), false, true, "VSBK",
-                                   "F5"),
-      inventory::SystemKeywordInfo("F6", Binary(16, 0x00), false, true, "VSBK",
-                                   "F6")}}};
-
-/** @brief Return the hex representation of the incoming byte
- *
- * @param [in] c - The input byte
- * @returns The hex representation of the byte as a character.
- */
-constexpr auto toHex(size_t c)
-{
-    constexpr auto map = "0123456789abcdef";
-    return map[c];
-}
-
-namespace inventory
-{
-/** @brief API to obtain a dictionary of path -> services
- * where path is in subtree and services is of the type
- * returned by the GetObject method.
- *
- * @param [in] root - Root path for object subtree
- * @param [in] depth - Maximum subtree depth required
- * @param [in] interfaces - Array to interfaces for which
- * result is required.
- * @return A dictionary of Path -> services
- */
-MapperResponse
-    getObjectSubtreeForInterfaces(const std::string& root, const int32_t depth,
-                                  const std::vector<std::string>& interfaces);
-
-/**
- * @brief API to call GetObject API of mapper.
- *
- * @param[in] objectPath - inventory path.
- * @param[in] interfaces - List of interfaces.
- *
- * @return - response of the API call.
- */
-MapperGetObjectResponse getObject(const std::string& objectPath,
-                                  const std::vector<std::string>& interfaces);
-
-} // namespace inventory
-
-/**@brief This API reads 2 Bytes of data and swap the read data
- * @param[in] iterator- Pointer pointing to the data to be read
- * @return returns 2 Byte data read at the given pointer
- */
-openpower::vpd::constants::LE2ByteData
-    readUInt16LE(Binary::const_iterator iterator);
-
-/** @brief Encodes a keyword for D-Bus.
- *  @param[in] kw - kwd data in string format
- *  @param[in] encoding - required for kwd data
- */
-std::string encodeKeyword(const std::string& kw, const std::string& encoding);
-
-/** @brief Reads a property from the inventory manager given object path,
- *         interface and property.
- *  @param[in] obj - object path
- *  @param[in] inf - interface
- *  @param[in] prop - property whose value is fetched
- *  @return [out] - value of the property
- */
-std::string readBusProperty(const std::string& obj, const std::string& inf,
-                            const std::string& prop);
-
-/** @brief A templated function to read D-Bus properties.
- *
- *  @param[in] service - Service path
- *  @param[in] object - object path
- *  @param[in] inf - interface
- *  @param[in] prop - property whose value is fetched
- *  @return The property value of its own type.
- */
-template <typename T>
-T readDBusProperty(const std::string& service, const std::string& object,
-                   const std::string& inf, const std::string& prop)
-{
-    T retVal{};
-    try
-    {
-        auto bus = sdbusplus::bus::new_default();
-        auto properties =
-            bus.new_method_call(service.c_str(), object.c_str(),
-                                "org.freedesktop.DBus.Properties", "Get");
-        properties.append(inf);
-        properties.append(prop);
-        auto result = bus.call(properties);
-        result.read(retVal);
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        std::cerr << e.what();
-    }
-    return retVal;
-}
-
-/** @brief A templated method to get all D-Bus properties
- *
- * @param[in] service - Service path
- * @param[in] object - Object path
- * @param[in] inf - Interface
- *
- * @return All properties under the given interface.
- */
-template <typename T>
-T getAllDBusProperty(const std::string& service, const std::string& object,
-                     const std::string& inf)
-{
-    T retVal{};
-    try
-    {
-        auto bus = sdbusplus::bus::new_default();
-        auto allProperties =
-            bus.new_method_call(service.c_str(), object.c_str(),
-                                "org.freedesktop.DBus.Properties", "GetAll");
-        allProperties.append(inf);
-
-        auto result = bus.call(allProperties);
-        result.read(retVal);
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        std::cerr << e.what();
-    }
-    return retVal;
-}
-
-/**
- * @brief API to create PEL entry
- * The api makes synchronous call to phosphor-logging create api.
- * @param[in] additionalData - Map holding the additional data
- * @param[in] sev - Severity
- * @param[in] errIntf - error interface
- */
-void createSyncPEL(const std::map<std::string, std::string>& additionalData,
-                   const constants::PelSeverity& sev,
-                   const std::string& errIntf);
-
-/**
- * @brief Api to create PEL.
- * A wrapper api through which sync/async call to phosphor-logging create api
- * can be made as and when required.
- * sdBus as nullptr will result in sync call else async call will be made with
- * just "DESCRIPTION" key/value pair in additional data.
- * To make asyn call with more fields in additional data call
- * "sd_bus_call_method_async" in place.
- *
- * @param[in] additionalData - Map of additional data.
- * @param[in] sev - severity of the PEL.
- * @param[in] errIntf - Error interface to be used in PEL.
- * @param[in] sdBus - Pointer to Sd-Bus
- */
-void createPEL(const std::map<std::string, std::string>& additionalData,
-               const constants::PelSeverity& sev, const std::string& errIntf,
-               sd_bus* sdBus);
-
-/**
- * @brief getVpdFilePath
- * Get vpd file path corresponding to the given object path.
- * @param[in] - json file path
- * @param[in] - Object path
- * @return - Vpd file path
- */
-inventory::VPDfilepath getVpdFilePath(const std::string& jsonFile,
-                                      const std::string& ObjPath);
-
-/**
- * @brief isPathInJson
- * API which checks for the presence of the given eeprom path in the given json.
- * @param[in] - eepromPath
- * @return - true if the eeprom is present in the json; false otherwise
- */
-bool isPathInJson(const std::string& eepromPath);
-
-/**
- * @brief isRecKwInDbusJson
- * API which checks whether the given keyword under the given record is to be
- * published on dbus or not. Checks against the keywords present in
- * dbus_property.json.
- * @param[in] - record name
- * @param[in] - keyword name
- * @return - true if the record-keyword pair is present in dbus_property.json;
- * false otherwise.
- */
-bool isRecKwInDbusJson(const std::string& record, const std::string& keyword);
-
-/**
- * @brief Check the type of VPD.
- *
- * Checks the type of vpd based on the start tag.
- * @param[in] vector - Vpd data in vector format
- *
- * @return enum of type vpdType
- */
-constants::vpdType vpdTypeCheck(const Binary& vector);
-
-/*
- * @brief This method does nothing. Just an empty function to return null
- * at the end of variadic template args
- */
-inline std::string getCommand()
-{
-    return "";
-}
-
-/**
- * @brief This function to arrange all arguments to make commandy
- * @param[in] arguments to create the command
- * @return cmd - command string
- */
-template <typename T, typename... Types>
-inline std::string getCommand(T arg1, Types... args)
-{
-    std::string cmd = " " + arg1 + getCommand(args...);
-
-    return cmd;
-}
-
-/**
- * @brief This API takes arguments, creates a shell command line and executes
- * them.
- * @param[in] arguments for command
- * @returns output of that command
- */
-template <typename T, typename... Types>
-inline std::vector<std::string> executeCmd(T&& path, Types... args)
-{
-    std::vector<std::string> stdOutput;
-    std::array<char, 128> buffer;
-
-    std::string cmd = path + getCommand(args...);
-
-    struct custom_file_deleter
-    {
-        void operator()(std::FILE* fp)
-        {
-            pclose(fp);
-        }
-    };
-    using unique_file_custom_deleter =
-        std::unique_ptr<std::FILE, custom_file_deleter>;
-    unique_file_custom_deleter pipe{popen(cmd.c_str(), "r")};
-
-    if (!pipe)
-    {
-        throw std::runtime_error("popen() failed!");
-    }
-    while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr)
-    {
-        stdOutput.emplace_back(buffer.data());
-    }
-
-    return stdOutput;
-}
-
-/** @brief This API checks for IM and HW keywords, and based
- *         on these values decides which system json to be used.
- *  @param[in] vpdMap -  parsed vpd
- *  @returns System json path
- */
-std::string getSystemsJson(const Parsed& vpdMap);
-
-/** @brief Reads HW Keyword from the vpd
- *  @param[in] vpdMap -  parsed vpd
- *  @returns value of HW Keyword
- */
-const std::string getHW(const Parsed& vpdMap);
-
-/** @brief Reads IM Keyword from the vpd
- *  @param[in] vpdMap -  parsed vpd
- *  @returns value of IM Keyword
- */
-const std::string getIM(const Parsed& vpdMap);
-
-/** @brief Translate udev event generated path to a generic /sys/bus eeprom path
- *  @param[io] file - path generated from udev event.
- *  @param[in] driver - kernel driver used by the device.
- */
-void udevToGenericPath(std::string& file, const std::string& driver);
-
-/**
- * @brief API to generate a vpd name in some pattern.
- * This vpd-name denotes name of the bad vpd file.
- * For i2c eeproms - the pattern of the vpd-name will be
- * i2c-<bus-number>-<eeprom-address>. For spi eeproms - the pattern of the
- * vpd-name will be spi-<spi-number>.
- *
- * @param[in] file - file path of the vpd
- * @return the vpd-name.
- */
-std::string getBadVpdName(const std::string& file);
-
-/**
- * @brief API which dumps the broken/bad vpd in a directory
- * When the vpd is bad, this api places  the bad vpd file inside
- * "/tmp/bad-vpd" in BMC, in order to collect bad VPD data as a part of user
- * initiated BMC dump.
- *
- * @param[in] file - bad vpd file path
- * @param[in] vpdVector - bad vpd vector
- */
-void dumpBadVpd(const std::string& file, const Binary& vpdVector);
-
-/*
- * @brief This function fetches the value for given keyword in the given record
- *        from vpd data and returns this value.
- *
- * @param[in] vpdMap - vpd to find out the data
- * @param[in] rec - Record under which desired keyword exists
- * @param[in] kwd - keyword to read the data from
- *
- * @returns keyword value if record/keyword combination found
- *          empty string if record or keyword is not found.
- */
-const std::string getKwVal(const Parsed& vpdMap, const std::string& rec,
-                           const std::string& kwd);
-
-/** @brief This creates a complete command using all it's input parameters,
- *         to bind or unbind the driver.
- *  @param[in] devNameAddr - device address on that bus
- *  @param[in] busType - i2c, spi
- *  @param[in] driverType - type of driver like at24
- *  @param[in] bindOrUnbind - either bind or unbind
- *  @returns  Command to bind or unbind the driver.
- */
-inline std::string createBindUnbindDriverCmnd(
-    const std::string& devNameAddr, const std::string& busType,
-    const std::string& driverType, const std::string& bindOrUnbind)
-{
-    return ("echo " + devNameAddr + " > /sys/bus/" + busType + "/drivers/" +
-            driverType + "/" + bindOrUnbind);
-}
-
-/**
- * @brief Get Printable Value
- *
- * Checks if the value has non printable characters.
- * Returns hex value if non printable char is found else
- * returns ascii value.
- *
- * @param[in] kwVal - Reference of the input data, Keyword value
- * @return printable value - either in hex or in ascii.
- */
-std::string getPrintableValue(const std::variant<Binary, std::string>& kwVal);
-
-/**
- * @brief Convert array to hex string.
- * @param[in] kwVal - input data, Keyword value
- * @return hexadecimal string of bytes.
- */
-std::string hexString(const std::variant<Binary, std::string>& kwVal);
-
-/**
- * @brief Return presence of the FRU.
- *
- * This API returns the presence information of the FRU corresponding to the
- * given EEPROM. If the JSON contains no information about presence detect, this
- * will return an empty optional. Else it will get the presence GPIO information
- * from the JSON and return the appropriate present status.
- * In case of GPIO find/read errors, it will return false.
- *
- * @param[in] json - The VPD JSON
- * @param[in] file - EEPROM file path
- * @return Empty optional if there is no presence info. Else returns presence
- * based on the GPIO read.
- */
-std::optional<bool> isPresent(const nlohmann::json& json,
-                              const std::string& file);
-
-/**
- * @brief Performs any pre-action needed to get the FRU setup for
- * collection.
- *
- * @param[in] json - json object
- * @param[in] file - eeprom file path
- * @return - success or failure
- */
-bool executePreAction(const nlohmann::json& json, const std::string& file);
-
-/**
- * @brief This API will be called at the end of VPD collection to perform any
- * post actions.
- *
- * @param[in] json - json object
- * @param[in] file - eeprom file path
- */
-void executePostFailAction(const nlohmann::json& json, const std::string& file);
-
-/**
- * @brief Helper function to insert or merge in map.
- *
- * This method checks in the given inventory::InterfaceMap if the given
- * interface key is existing or not. If the interface key already exists, given
- * property map is inserted into it. If the key doesn't exist then given
- * interface and property map pair is newly created. If the property present in
- * propertymap already exist in the InterfaceMap, then the new property value is
- * ignored.
- *
- * @param[in,out] map - map object of type inventory::InterfaceMap only.
- * @param[in] interface - Interface name.
- * @param[in] property - new property map that needs to be emplaced.
- */
-void insertOrMerge(inventory::InterfaceMap& map,
-                   const inventory::Interface& interface,
-                   inventory::PropertyMap&& property);
-
-/**
- * @brief Utility API to set a D-Bus property
- *
- * This calls org.freedesktop.DBus.Properties;Set method with the supplied
- * arguments
- *
- * @tparam T Template type of the D-Bus property
- * @param service[in] - The D-Bus service name.
- * @param object[in] - The D-Bus object on which the property is to be set.
- * @param interface[in] - The D-Bus interface to which the property belongs.
- * @param propertyName[in] - The name of the property to set.
- * @param propertyValue[in] - The value of the property.
- */
-template <typename T>
-void setBusProperty(const std::string& service, const std::string& object,
-                    const std::string& interface,
-                    const std::string& propertyName,
-                    const std::variant<T>& propertyValue)
-{
-    try
-    {
-        auto bus = sdbusplus::bus::new_default();
-        auto method =
-            bus.new_method_call(service.c_str(), object.c_str(),
-                                "org.freedesktop.DBus.Properties", "Set");
-        method.append(interface);
-        method.append(propertyName);
-        method.append(propertyValue);
-
-        bus.call(method);
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        std::cerr << e.what() << std::endl;
-    }
-}
-
-/**
- * @brief Reads BIOS Attribute by name.
- *
- * @param attrName[in] - The BIOS attribute name.
- * @return std::variant<int64_t, std::string> - The BIOS attribute value.
- */
-std::variant<int64_t, std::string>
-    readBIOSAttribute(const std::string& attrName);
-
-/**
- * @brief Returns the power state for chassis0
- * @return The chassis power state.
- */
-std::string getPowerState();
-
-/**
- * @brief Reads VPD from the supplied EEPROM
- *
- * This function reads the given VPD EEPROM file and returns its contents as a
- * byte array. It handles any offsets into the file that need to be taken care
- * of by looking up the VPD JSON for a possible offset key.
- *
- * @param js[in] - The VPD JSON Object
- * @param file[in] - The path to the EEPROM to read
- * @return A byte array containing the raw VPD.
- */
-Binary getVpdDataInVector(const nlohmann::json& js, const std::string& file);
-
-/**
- * @brief Get D-bus name for the keyword
- * Some of the VPD keywords has different name in PIM when compared with its
- * name from hardware. This method returns the D-bus name for the given keyword.
- *
- * @param[in] keyword - Keyword name
- * @return D-bus name for the keyword
- */
-std::string getDbusNameForThisKw(const std::string& keyword);
-
-/**
- * @brief API to remove VPD data from Dbus on removal of FRU.
- *
- * @param[in] objPath - Inventory path of the FRU.
- * @param[out] interfacesPropMap - Map of interface, property and value.
- */
-void clearVpdOnRemoval(const std::string& objPath,
-                       inventory::InterfaceMap& interfacesPropMap);
-
-/**
- * @brief Find backup VPD path if any for the system VPD
- *
- * @param[out] backupEepromPath - Backup VPD path
- * @param[out] backupInvPath - Backup inventory path
- * @param[in] js - Inventory JSON object
- */
-void findBackupVPDPaths(std::string& backupEepromPath,
-                        std::string& backupInvPath, const nlohmann::json& js);
-
-/**
- * @brief Get backup VPD's record and keyword for the given system VPD keyword
- *
- * @param[in,out] record - Record name
- * @param[in,out] keyword - Keyword name
- */
-void getBackupRecordKeyword(std::string& record, std::string& keyword);
-
-/**
- * @brief Check if EEPROM of the given VPD path is read only.
- *
- * @param[in] vpdPath - VPD path of the FRU.
- * @param[in] jsObject - Inventory JSON object.
- *
- * @return true if EEPROM is read only, false otherwise.
- */
-bool isReadOnlyEEPROM(const std::string& vpdPath,
-                      const nlohmann::json& jsObject);
-} // namespace vpd
-} // namespace openpower
diff --git a/impl.cpp b/impl.cpp
deleted file mode 100644
index 4e43303..0000000
--- a/impl.cpp
+++ /dev/null
@@ -1,663 +0,0 @@
-#include "impl.hpp"
-
-#include "vpdecc/vpdecc.h"
-
-#include "const.hpp"
-#include "defines.hpp"
-#include "ibm_vpd_utils.hpp"
-#include "types.hpp"
-#include "vpd_exceptions.hpp"
-
-#include <algorithm>
-#include <exception>
-#include <iomanip>
-#include <iostream>
-#include <iterator>
-#include <sstream>
-#include <tuple>
-#include <unordered_map>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace parser
-{
-using namespace openpower::vpd::constants;
-using namespace openpower::vpd::exceptions;
-
-static const std::unordered_map<std::string, Record> supportedRecords = {
-    {"VINI", Record::VINI}, {"OPFR", Record::OPFR}, {"OSYS", Record::OSYS}};
-
-static const std::unordered_map<std::string, internal::KeywordInfo>
-    supportedKeywords = {
-        {"DR", std::make_tuple(record::Keyword::DR, keyword::Encoding::ASCII)},
-        {"PN", std::make_tuple(record::Keyword::PN, keyword::Encoding::ASCII)},
-        {"SN", std::make_tuple(record::Keyword::SN, keyword::Encoding::ASCII)},
-        {"CC", std::make_tuple(record::Keyword::CC, keyword::Encoding::ASCII)},
-        {"HW", std::make_tuple(record::Keyword::HW, keyword::Encoding::RAW)},
-        {"B1", std::make_tuple(record::Keyword::B1, keyword::Encoding::B1)},
-        {"VN", std::make_tuple(record::Keyword::VN, keyword::Encoding::ASCII)},
-        {"MB", std::make_tuple(record::Keyword::MB, keyword::Encoding::MB)},
-        {"MM", std::make_tuple(record::Keyword::MM, keyword::Encoding::ASCII)},
-        {"UD", std::make_tuple(record::Keyword::UD, keyword::Encoding::UD)},
-        {"VP", std::make_tuple(record::Keyword::VP, keyword::Encoding::ASCII)},
-        {"VS", std::make_tuple(record::Keyword::VS, keyword::Encoding::ASCII)},
-};
-
-namespace
-{
-constexpr auto toHex(size_t c)
-{
-    constexpr auto map = "0123456789abcdef";
-    return map[c];
-}
-} // namespace
-
-/*readUInt16LE: Read 2 bytes LE data*/
-static LE2ByteData readUInt16LE(Binary::const_iterator iterator)
-{
-    LE2ByteData lowByte = *iterator;
-    LE2ByteData highByte = *(iterator + 1);
-    lowByte |= (highByte << 8);
-    return lowByte;
-}
-
-RecordOffset Impl::getVtocOffset() const
-{
-    auto vpdPtr = vpd.cbegin();
-    std::advance(vpdPtr, offsets::VTOC_PTR);
-    // Get VTOC Offset
-    auto vtocOffset = readUInt16LE(vpdPtr);
-
-    return vtocOffset;
-}
-
-#ifdef IPZ_PARSER
-int Impl::vhdrEccCheck()
-{
-    int rc = eccStatus::SUCCESS;
-    auto vpdPtr = vpd.cbegin();
-
-    auto l_status = vpdecc_check_data(
-        const_cast<uint8_t*>(&vpdPtr[offsets::VHDR_RECORD]),
-        lengths::VHDR_RECORD_LENGTH,
-        const_cast<uint8_t*>(&vpdPtr[offsets::VHDR_ECC]),
-        lengths::VHDR_ECC_LENGTH);
-    if (l_status == VPD_ECC_CORRECTABLE_DATA)
-    {
-        try
-        {
-            if (vpdFileStream.is_open())
-            {
-                vpdFileStream.seekp(vpdStartOffset + offsets::VHDR_RECORD,
-                                    std::ios::beg);
-                vpdFileStream.write(
-                    reinterpret_cast<const char*>(&vpd[offsets::VHDR_RECORD]),
-                    lengths::VHDR_RECORD_LENGTH);
-            }
-            else
-            {
-                std::cerr << "File not open";
-                rc = eccStatus::FAILED;
-            }
-        }
-        catch (const std::fstream::failure& e)
-        {
-            std::cout << "Error while operating on file with exception:"
-                      << e.what();
-            rc = eccStatus::FAILED;
-        }
-    }
-    else if (l_status != VPD_ECC_OK)
-    {
-        rc = eccStatus::FAILED;
-    }
-
-    return rc;
-}
-
-int Impl::vtocEccCheck()
-{
-    int rc = eccStatus::SUCCESS;
-    // Use another pointer to get ECC information from VHDR,
-    // actual pointer is pointing to VTOC data
-
-    auto vpdPtr = vpd.cbegin();
-
-    // Get VTOC Offset
-    auto vtocOffset = getVtocOffset();
-
-    // Get the VTOC Length
-    std::advance(vpdPtr, offsets::VTOC_PTR + sizeof(RecordOffset));
-    auto vtocLength = readUInt16LE(vpdPtr);
-
-    // Get the ECC Offset
-    std::advance(vpdPtr, sizeof(RecordLength));
-    auto vtocECCOffset = readUInt16LE(vpdPtr);
-
-    // Get the ECC length
-    std::advance(vpdPtr, sizeof(ECCOffset));
-    auto vtocECCLength = readUInt16LE(vpdPtr);
-
-    // Reset pointer to start of the vpd,
-    // so that Offset will point to correct address
-    vpdPtr = vpd.cbegin();
-    auto l_status = vpdecc_check_data(
-        const_cast<uint8_t*>(&vpdPtr[vtocOffset]), vtocLength,
-        const_cast<uint8_t*>(&vpdPtr[vtocECCOffset]), vtocECCLength);
-    if (l_status == VPD_ECC_CORRECTABLE_DATA)
-    {
-        try
-        {
-            if (vpdFileStream.is_open())
-            {
-                vpdFileStream.seekp(vpdStartOffset + vtocOffset, std::ios::beg);
-                vpdFileStream.write(
-                    reinterpret_cast<const char*>(&vpdPtr[vtocOffset]),
-                    vtocLength);
-            }
-            else
-            {
-                std::cerr << "File not open";
-                rc = eccStatus::FAILED;
-            }
-        }
-        catch (const std::fstream::failure& e)
-        {
-            std::cout << "Error while operating on file with exception "
-                      << e.what();
-            rc = eccStatus::FAILED;
-        }
-    }
-    else if (l_status != VPD_ECC_OK)
-    {
-        rc = eccStatus::FAILED;
-    }
-
-    return rc;
-}
-
-int Impl::recordEccCheck(Binary::const_iterator iterator)
-{
-    int rc = eccStatus::SUCCESS;
-
-    auto recordOffset = readUInt16LE(iterator);
-
-    std::advance(iterator, sizeof(RecordOffset));
-    auto recordLength = readUInt16LE(iterator);
-
-    std::advance(iterator, sizeof(RecordLength));
-    auto eccOffset = readUInt16LE(iterator);
-
-    std::advance(iterator, sizeof(ECCOffset));
-    auto eccLength = readUInt16LE(iterator);
-
-    if (eccLength == 0 || eccOffset == 0)
-    {
-        throw(VpdEccException(
-            "Could not find ECC's offset or Length for Record:"));
-    }
-
-    if (recordOffset == 0 || recordLength == 0)
-    {
-        throw(VpdDataException("Could not find VPD record offset or VPD record "
-                               "length for Record:"));
-    }
-
-    auto vpdPtr = vpd.cbegin();
-
-    auto l_status = vpdecc_check_data(
-        const_cast<uint8_t*>(&vpdPtr[recordOffset]), recordLength,
-        const_cast<uint8_t*>(&vpdPtr[eccOffset]), eccLength);
-    if (l_status == VPD_ECC_CORRECTABLE_DATA)
-    {
-        try
-        {
-            if (vpdFileStream.is_open())
-            {
-                vpdFileStream.seekp(vpdStartOffset + recordOffset,
-                                    std::ios::beg);
-                vpdFileStream.write(
-                    reinterpret_cast<const char*>(&vpdPtr[recordOffset]),
-                    recordLength);
-            }
-            else
-            {
-                std::cerr << "File not open";
-                rc = eccStatus::FAILED;
-            }
-        }
-        catch (const std::fstream::failure& e)
-        {
-            std::cout << "Error while operating on file with exception "
-                      << e.what();
-            rc = eccStatus::FAILED;
-        }
-    }
-    else if (l_status != VPD_ECC_OK)
-    {
-        rc = eccStatus::FAILED;
-    }
-
-    return rc;
-}
-#endif
-
-void Impl::checkHeader()
-{
-    if (vpd.empty() || (lengths::RECORD_MIN > vpd.size()))
-    {
-        throw(VpdDataException("Malformed VPD"));
-    }
-    else
-    {
-        auto iterator = vpd.cbegin();
-        std::advance(iterator, offsets::VHDR);
-        auto stop = std::next(iterator, lengths::RECORD_NAME);
-        std::string record(iterator, stop);
-        if ("VHDR" != record)
-        {
-            throw(VpdDataException("VHDR record not found"));
-        }
-
-#ifdef IPZ_PARSER
-        // Check ECC
-        int rc = eccStatus::FAILED;
-        rc = vhdrEccCheck();
-        if (rc != eccStatus::SUCCESS)
-        {
-            throw(VpdEccException("ERROR: VHDR ECC check Failed"));
-        }
-#endif
-    }
-}
-
-std::size_t Impl::readTOC(Binary::const_iterator& iterator)
-{
-    // The offset to VTOC could be 1 or 2 bytes long
-    RecordOffset vtocOffset = getVtocOffset();
-
-    // Got the offset to VTOC, skip past record header and keyword header
-    // to get to the record name.
-    std::advance(iterator, vtocOffset + sizeof(RecordId) + sizeof(RecordSize) +
-                               // Skip past the RT keyword, which contains
-                               // the record name.
-                               lengths::KW_NAME + sizeof(KwSize));
-
-    auto stop = std::next(iterator, lengths::RECORD_NAME);
-    std::string record(iterator, stop);
-    if ("VTOC" != record)
-    {
-        throw(VpdDataException("VTOC record not found"));
-    }
-
-#ifdef IPZ_PARSER
-    // Check ECC
-    int rc = eccStatus::FAILED;
-    rc = vtocEccCheck();
-    if (rc != eccStatus::SUCCESS)
-    {
-        throw(VpdEccException("ERROR: VTOC ECC check Failed"));
-    }
-#endif
-    // VTOC record name is good, now read through the TOC, stored in the PT
-    // PT keyword; vpdBuffer is now pointing at the first character of the
-    // name 'VTOC', jump to PT data.
-    // Skip past record name and KW name, 'PT'
-    std::advance(iterator, lengths::RECORD_NAME + lengths::KW_NAME);
-    // Note size of PT
-    std::size_t ptLen = *iterator;
-    // Skip past PT size
-    std::advance(iterator, sizeof(KwSize));
-
-    // length of PT keyword
-    return ptLen;
-}
-
-internal::OffsetList Impl::readPT(Binary::const_iterator iterator,
-                                  std::size_t ptLength)
-{
-    internal::OffsetList offsets{};
-
-    auto end = iterator;
-    std::advance(end, ptLength);
-
-    // Look at each entry in the PT keyword. In the entry,
-    // we care only about the record offset information.
-    while (iterator < end)
-    {
-#ifdef IPZ_PARSER
-        auto iteratorToRecName = iterator;
-#endif
-        // Skip record name and record type
-        std::advance(iterator, lengths::RECORD_NAME + sizeof(RecordType));
-
-        // Get record offset
-        auto offset = readUInt16LE(iterator);
-        offsets.push_back(offset);
-
-#ifdef IPZ_PARSER
-        std::string recordName(iteratorToRecName,
-                               iteratorToRecName + lengths::RECORD_NAME);
-
-        try
-        {
-            // Verify the ECC for this Record
-            int rc = recordEccCheck(iterator);
-
-            if (rc != eccStatus::SUCCESS)
-            {
-                std::string errorMsg = std::string(
-                    "ERROR: ECC check did not pass for the "
-                    "Record:");
-                throw(VpdEccException(errorMsg));
-            }
-        }
-        catch (const VpdEccException& ex)
-        {
-            inventory::PelAdditionalData additionalData{};
-            additionalData.emplace("DESCRIPTION",
-                                   std::string{ex.what()} + recordName);
-            additionalData.emplace("CALLOUT_INVENTORY_PATH", inventoryPath);
-            createPEL(additionalData, PelSeverity::WARNING,
-                      errIntfForEccCheckFail, nullptr);
-        }
-        catch (const VpdDataException& ex)
-        {
-            inventory::PelAdditionalData additionalData{};
-            additionalData.emplace("DESCRIPTION",
-                                   std::string{ex.what()} + recordName);
-            additionalData.emplace("CALLOUT_INVENTORY_PATH", inventoryPath);
-            createPEL(additionalData, PelSeverity::WARNING,
-                      errIntfForInvalidVPD, nullptr);
-        }
-
-#endif
-
-        // Jump record size, record length, ECC offset and ECC length
-        std::advance(iterator, sizeof(RecordOffset) + sizeof(RecordLength) +
-                                   sizeof(ECCOffset) + sizeof(ECCLength));
-    }
-
-    return offsets;
-}
-
-void Impl::processRecord(std::size_t recordOffset)
-{
-    // Jump to record name
-    auto nameOffset = recordOffset + sizeof(RecordId) + sizeof(RecordSize) +
-                      // Skip past the RT keyword, which contains
-                      // the record name.
-                      lengths::KW_NAME + sizeof(KwSize);
-    // Get record name
-    auto iterator = vpd.cbegin();
-    std::advance(iterator, nameOffset);
-
-    std::string name(iterator, iterator + lengths::RECORD_NAME);
-
-#ifndef IPZ_PARSER
-    if (supportedRecords.end() != supportedRecords.find(name))
-    {
-#endif
-        // If it's a record we're interested in, proceed to find
-        // contained keywords and their values.
-        std::advance(iterator, lengths::RECORD_NAME);
-
-#ifdef IPZ_PARSER
-
-        // Reverse back to RT Kw, in ipz vpd, to Read RT KW & value
-        std::advance(iterator, -(lengths::KW_NAME + sizeof(KwSize) +
-                                 lengths::RECORD_NAME));
-#endif
-        auto kwMap = readKeywords(iterator);
-        // Add entry for this record (and contained keyword:value pairs)
-        // to the parsed vpd output.
-        out.emplace(std::move(name), std::move(kwMap));
-
-#ifndef IPZ_PARSER
-    }
-#endif
-}
-
-std::string Impl::readKwData(const internal::KeywordInfo& keyword,
-                             std::size_t dataLength,
-                             Binary::const_iterator iterator)
-{
-    using namespace openpower::vpd;
-    switch (std::get<keyword::Encoding>(keyword))
-    {
-        case keyword::Encoding::ASCII:
-        {
-            auto stop = std::next(iterator, dataLength);
-            return std::string(iterator, stop);
-        }
-
-        case keyword::Encoding::RAW:
-        {
-            auto stop = std::next(iterator, dataLength);
-            std::string data(iterator, stop);
-            std::string result{};
-            std::for_each(data.cbegin(), data.cend(), [&result](size_t c) {
-                result += toHex(c >> 4);
-                result += toHex(c & 0x0F);
-            });
-            return result;
-        }
-
-        case keyword::Encoding::MB:
-        {
-            // MB is BuildDate, represent as
-            // 1997-01-01-08:30:00
-            // <year>-<month>-<day>-<hour>:<min>:<sec>
-            auto stop = std::next(iterator, MB_LEN_BYTES);
-            std::string data(iterator, stop);
-            std::string result;
-            result.reserve(MB_LEN_BYTES);
-            auto strItr = data.cbegin();
-            std::advance(strItr, 1);
-            std::for_each(strItr, data.cend(), [&result](size_t c) {
-                result += toHex(c >> 4);
-                result += toHex(c & 0x0F);
-            });
-
-            result.insert(MB_YEAR_END, 1, '-');
-            result.insert(MB_MONTH_END, 1, '-');
-            result.insert(MB_DAY_END, 1, '-');
-            result.insert(MB_HOUR_END, 1, ':');
-            result.insert(MB_MIN_END, 1, ':');
-
-            return result;
-        }
-
-        case keyword::Encoding::B1:
-        {
-            // B1 is MAC address, represent as AA:BB:CC:DD:EE:FF
-            auto stop = std::next(iterator, MAC_ADDRESS_LEN_BYTES);
-            std::string data(iterator, stop);
-            std::string result{};
-            auto strItr = data.cbegin();
-            size_t firstDigit = *strItr;
-            result += toHex(firstDigit >> 4);
-            result += toHex(firstDigit & 0x0F);
-            std::advance(strItr, 1);
-            std::for_each(strItr, data.cend(), [&result](size_t c) {
-                result += ":";
-                result += toHex(c >> 4);
-                result += toHex(c & 0x0F);
-            });
-            return result;
-        }
-
-        case keyword::Encoding::UD:
-        {
-            // UD, the UUID info, represented as
-            // 123e4567-e89b-12d3-a456-426655440000
-            //<time_low>-<time_mid>-<time hi and version>
-            //-<clock_seq_hi_and_res clock_seq_low>-<48 bits node id>
-            auto stop = std::next(iterator, UUID_LEN_BYTES);
-            std::string data(iterator, stop);
-            std::string result{};
-            std::for_each(data.cbegin(), data.cend(), [&result](size_t c) {
-                result += toHex(c >> 4);
-                result += toHex(c & 0x0F);
-            });
-            result.insert(UUID_TIME_LOW_END, 1, '-');
-            result.insert(UUID_TIME_MID_END, 1, '-');
-            result.insert(UUID_TIME_HIGH_END, 1, '-');
-            result.insert(UUID_CLK_SEQ_END, 1, '-');
-
-            return result;
-        }
-        default:
-            break;
-    }
-
-    return {};
-}
-
-internal::KeywordMap Impl::readKeywords(Binary::const_iterator iterator)
-{
-    internal::KeywordMap map{};
-    while (true)
-    {
-        // Note keyword name
-        std::string kw(iterator, iterator + lengths::KW_NAME);
-        if (LAST_KW == kw)
-        {
-            // We're done
-            break;
-        }
-        // Check if the Keyword is '#kw'
-        char kwNameStart = *iterator;
-
-        // Jump past keyword name
-        std::advance(iterator, lengths::KW_NAME);
-
-        std::size_t length;
-        std::size_t lengthHighByte;
-        if (POUND_KW == kwNameStart)
-        {
-            // Note keyword data length
-            length = *iterator;
-            lengthHighByte = *(iterator + 1);
-            length |= (lengthHighByte << 8);
-
-            // Jump past 2Byte keyword length
-            std::advance(iterator, sizeof(PoundKwSize));
-        }
-        else
-        {
-            // Note keyword data length
-            length = *iterator;
-
-            // Jump past keyword length
-            std::advance(iterator, sizeof(KwSize));
-        }
-
-        // Pointing to keyword data now
-#ifndef IPZ_PARSER
-        if (supportedKeywords.end() != supportedKeywords.find(kw))
-        {
-            // Keyword is of interest to us
-            std::string data = readKwData((supportedKeywords.find(kw))->second,
-                                          length, iterator);
-            map.emplace(std::move(kw), std::move(data));
-        }
-
-#else
-        // support all the Keywords
-        auto stop = std::next(iterator, length);
-        std::string kwdata(iterator, stop);
-        map.emplace(std::move(kw), std::move(kwdata));
-
-#endif
-        // Jump past keyword data length
-        std::advance(iterator, length);
-    }
-
-    return map;
-}
-
-Store Impl::run()
-{
-    // Check if the VHDR record is present
-    checkHeader();
-
-    auto iterator = vpd.cbegin();
-
-    // Read the table of contents record
-    std::size_t ptLen = readTOC(iterator);
-
-    // Read the table of contents record, to get offsets
-    // to other records.
-    auto offsets = readPT(iterator, ptLen);
-    for (const auto& offset : offsets)
-    {
-        processRecord(offset);
-    }
-    // Return a Store object, which has interfaces to
-    // access parsed VPD by record:keyword
-    return Store(std::move(out));
-}
-
-void Impl::checkVPDHeader()
-{
-    // Check if the VHDR record is present and is valid
-    checkHeader();
-}
-
-std::string Impl::readKwFromHw(const std::string& record,
-                               const std::string& keyword)
-{
-    // Check if the VHDR record is present
-    checkHeader();
-
-    auto iterator = vpd.cbegin();
-
-    // Read the table of contents record
-    std::size_t ptLen = readTOC(iterator);
-
-    // Read the table of contents record, to get offsets
-    // to other records.
-    auto offsets = readPT(iterator, ptLen);
-    for (const auto& offset : offsets)
-    {
-        // Jump to record name
-        auto nameOffset = offset + sizeof(RecordId) + sizeof(RecordSize) +
-                          // Skip past the RT keyword, which contains
-                          // the record name.
-                          lengths::KW_NAME + sizeof(KwSize);
-        // Get record name
-        auto iterator = vpd.cbegin();
-        std::advance(iterator, nameOffset);
-
-        std::string name(iterator, iterator + lengths::RECORD_NAME);
-        if (name != record)
-        {
-            continue;
-        }
-        else
-        {
-            processRecord(offset);
-            const auto& itr = out.find(record);
-            if (itr != out.end())
-            {
-                const auto& kwValItr = (itr->second).find(keyword);
-                if (kwValItr != (itr->second).end())
-                {
-                    return kwValItr->second;
-                }
-                else
-                {
-                    return "";
-                }
-            }
-        }
-    }
-    return "";
-}
-
-} // namespace parser
-} // namespace vpd
-} // namespace openpower
diff --git a/impl.hpp b/impl.hpp
deleted file mode 100644
index b1aa060..0000000
--- a/impl.hpp
+++ /dev/null
@@ -1,211 +0,0 @@
-#pragma once
-
-#include "const.hpp"
-#include "store.hpp"
-
-#include <cstddef>
-#include <fstream>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace parser
-{
-namespace keyword
-{
-/** @brief Encoding scheme of a VPD keyword's data */
-enum class Encoding
-{
-    ASCII, /**< data encoded in ascii */
-    RAW,   /**< raw data */
-    // Keywords needing custom decoding
-    B1, /**< The keyword B1 needs to be decoded specially */
-    MB, /**< Special decoding of MB meant for Build Date */
-    UD  /**< Special decoding of UD meant for UUID */
-};
-
-} // namespace keyword
-
-namespace internal
-{
-
-using KeywordInfo = std::tuple<record::Keyword, keyword::Encoding>;
-using OffsetList = std::vector<uint32_t>;
-using KeywordMap = Parsed::mapped_type;
-
-} // namespace internal
-
-/** @class Impl
- *  @brief Implements parser for VPD
- *
- *  An Impl object must be constructed by passing in VPD in
- *  binary format. To parse the VPD, call the run() method. The run()
- *  method returns an openpower::vpd::Store object, which contains
- *  parsed VPD, and provides access methods for the VPD.
- *
- *  Following is the algorithm used to parse IPZ/OpenPower VPD:
- *  1) Validate that the first record is VHDR, the header record.
- *  2) From the VHDR record, get the offset of the VTOC record,
- *     which is the table of contents record.
- *  3) Process the VTOC record - note offsets of supported records.
- *  4) For each supported record :
- *  4.1) Jump to record via offset. Add record name to parser output.
- *  4.2) Process record - for each contained and supported keyword:
- *  4.2.1) Note keyword name and value, associate this information to
- *         to the record noted in step 4.1).
- */
-class Impl
-{
-  public:
-    Impl() = delete;
-    Impl(const Impl&) = delete;
-    Impl& operator=(const Impl&) = delete;
-    Impl(Impl&&) = delete;
-    Impl& operator=(Impl&&) = delete;
-    ~Impl() = default;
-
-    /** @brief Construct an Impl
-     *
-     *  @param[in] vpdBuffer - Binary VPD
-     *  @param[in] path - To call out FRU in case of any PEL.
-     *  @param[in] vpdFilePath - VPD File Path
-     *  @param[in] vpdStartOffset - Start offset of VPD.
-     */
-    Impl(const Binary& vpdBuffer, const std::string& path,
-         const std::string& vpdFilePath, uint32_t vpdStartOffset) :
-        vpd(vpdBuffer), inventoryPath(path), vpdFilePath(vpdFilePath),
-        vpdStartOffset(vpdStartOffset), out{}
-    {
-#ifndef ManagerTest
-        vpdFileStream.exceptions(
-            std::ifstream::badbit | std::ifstream::failbit);
-#endif
-        try
-        {
-            vpdFileStream.open(vpdFilePath,
-                               std::ios::in | std::ios::out | std::ios::binary);
-        }
-        catch (const std::fstream::failure& fail)
-        {
-            std::cerr << "Exception in file handling [" << vpdFilePath
-                      << "] error : " << fail.what();
-            throw;
-        }
-    }
-
-    /** @brief Run the parser on binary VPD
-     *
-     *  @returns openpower::vpd::Store object
-     */
-    Store run();
-
-    /** @brief check if VPD header is valid
-     */
-    void checkVPDHeader();
-
-    /** @brief Read a specific VPD keyword from hardware.
-     * This api is to read a specific VPD keyword directly from hardware.
-     * @param[in] record - record name.
-     * @param[in] keyword - keyword name.
-     * @return keyword value.
-     */
-    std::string readKwFromHw(const std::string& record,
-                             const std::string& keyword);
-
-  private:
-    /** @brief Process the table of contents record
-     *
-     *  @param[in] iterator - iterator to buffer containing VPD
-     *  @returns Size of the PT keyword in VTOC
-     */
-    std::size_t readTOC(Binary::const_iterator& iterator);
-
-    /** @brief Read the PT keyword contained in the VHDR record,
-     *         to obtain offsets to other records in the VPD.
-     *
-     *  @param[in] iterator - iterator to buffer containing VPD
-     *  @param[in] ptLength - Length of PT keyword data
-     *
-     *  @returns List of offsets to records in VPD
-     */
-    internal::OffsetList readPT(Binary::const_iterator iterator,
-                                std::size_t ptLen);
-
-    /** @brief Read VPD information contained within a record
-     *
-     *  @param[in] recordOffset - offset to a record location
-     *      within the binary VPD
-     */
-    void processRecord(std::size_t recordOffset);
-
-    /** @brief Read keyword data
-     *
-     *  @param[in] keyword - VPD keyword
-     *  @param[in] dataLength - Length of data to be read
-     *  @param[in] iterator - iterator pointing to a Keyword's data in
-     *      the VPD
-     *
-     *  @returns keyword data as a string
-     */
-    std::string readKwData(const internal::KeywordInfo& keyword,
-                           std::size_t dataLength,
-                           Binary::const_iterator iterator);
-
-    /** @brief While we're pointing at the keyword section of
-     *     a record in the VPD, this will read all contained
-     *     keywords and their values.
-     *
-     *  @param[in] iterator - iterator pointing to a Keyword in the VPD
-     *
-     *  @returns map of keyword:data
-     */
-    internal::KeywordMap readKeywords(Binary::const_iterator iterator);
-
-    /** @brief Checks if the VHDR record is present in the VPD */
-    void checkHeader();
-
-    /** @brief Checks the ECC for VHDR Record.
-     *  @returns Success(0) OR corrupted data(-1)
-     */
-    int vhdrEccCheck();
-
-    /** @brief Checks the ECC for VTOC Record.
-     *  @returns Success(0) OR corrupted data(-1)
-     */
-    int vtocEccCheck();
-
-    /** @brief Checks the ECC for the given record.
-     *
-     * @param[in] iterator - iterator pointing to a record in the VPD
-     * @returns Success(0) OR corrupted data(-1)
-     */
-    int recordEccCheck(Binary::const_iterator iterator);
-
-    /** @brief This interface collects Offset of VTOC
-     *  @returns VTOC Offset
-     */
-    openpower::vpd::constants::RecordOffset getVtocOffset() const;
-
-    /** @brief VPD in binary format */
-    const Binary& vpd;
-
-    /** Inventory path to call out FRU if required */
-    const std::string inventoryPath;
-
-    /** Eeprom hardware path */
-    inventory::Path vpdFilePath;
-
-    /** VPD Offset **/
-    uint32_t vpdStartOffset;
-
-    /** File stream for VPD */
-    std::fstream vpdFileStream;
-
-    /** @brief parser output */
-    Parsed out;
-};
-
-} // namespace parser
-} // namespace vpd
-} // namespace openpower
diff --git a/meson.build b/meson.build
index 9373840..fa9c993 100644
--- a/meson.build
+++ b/meson.build
@@ -1,18 +1,18 @@
 project(
-     'openpower-vpd-parser',
+     'vpd-manager',
      'c',
      'cpp',
      default_options: [
        'warning_level=3',
        'werror=true',
-       'cpp_std=c++23',
+       'cpp_std=c++20',
        'buildtype=debugoptimized'
      ],
      version: '1.0',
-     meson_version: '>=1.1.1',
+     meson_version: '>=0.58.1',
 )
 
-add_global_arguments('-Wno-psabi', language : ['c', 'cpp'])
+add_global_arguments('-Wno-psabi', '-Wno-ignored-attributes', language : ['c', 'cpp'])
 
 # Disable FORTIFY_SOURCE when compiling with no optimization
 if(get_option('optimization') == '0')
@@ -23,44 +23,32 @@
 # Setup googletest before we import any projects that also depend on it to make
 # sure we have control over its configuration
 build_tests = get_option('tests')
-if not build_tests.disabled()
-    gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
-    gmock_dep = dependency('gmock', disabler: true, required: false)
-    if not gtest_dep.found() or not gmock_dep.found()
-        cmake = import('cmake')
-        gtest_opts = cmake.subproject_options()
-        gtest_opts.set_override_option('warning_level', '1')
-        gtest_opts.set_override_option('werror', 'false')
-        gtest_proj = cmake.subproject('googletest',
-                                      options: gtest_opts,
-                                      required: false)
-        if gtest_proj.found()
-            gtest_dep = declare_dependency(
-                dependencies: [
-                    dependency('threads'),
-                    gtest_proj.dependency('gtest'),
-                    gtest_proj.dependency('gtest_main'),
-                ]
-            )
-            gmock_dep = gtest_proj.dependency('gmock')
-        else
-            assert(not get_option('tests').allowed(),
-                   'Googletest is required if tests are enabled')
-        endif
-    endif
-endif
-
-nlohmann_json_dep = dependency('nlohmann_json', include_type: 'system')
-
-phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces',
-    default_options: [ 'data_com_ibm=true', 'data_org_open_power=true' ],
-    fallback: ['phosphor-dbus-interfaces', 'phosphor_dbus_interfaces_dep'])
-
-phosphor_logging = dependency('phosphor-logging',
-    default_options: [ 'openpower-pel-extension=enabled' ],
-    fallback: ['phosphor-logging', 'phosphor_logging_dep'])
 
 sdbusplus = dependency('sdbusplus', fallback: [ 'sdbusplus', 'sdbusplus_dep' ])
+phosphor_logging = dependency('phosphor-logging')
+phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
+
+if not build_tests.disabled()
+    subdir('test')
+endif
+
+subdir('vpd-tool')
+
+compiler = meson.get_compiler('cpp')
+
+conf_data = configuration_data()
+conf_data.set_quoted('BUSNAME', get_option('BUSNAME'))
+conf_data.set_quoted('OBJPATH', get_option('OBJPATH'))
+conf_data.set_quoted('IFACE', get_option('IFACE'))
+conf_data.set_quoted('BAD_VPD_DIR', get_option('BAD_VPD_DIR'))
+conf_data.set_quoted('INVENTORY_JSON_DEFAULT', get_option('INVENTORY_JSON_DEFAULT'))
+conf_data.set_quoted('INVENTORY_JSON_SYM_LINK', get_option('INVENTORY_JSON_SYM_LINK'))
+conf_data.set_quoted('JSON_ABSOLUTE_PATH_PREFIX', get_option('JSON_ABSOLUTE_PATH_PREFIX'))
+conf_data.set_quoted('SYSTEM_VPD_FILE_PATH', get_option('SYSTEM_VPD_FILE_PATH'))
+conf_data.set_quoted('VPD_SYMLIMK_PATH', get_option('VPD_SYMLIMK_PATH'))
+conf_data.set_quoted('PIM_PATH_PREFIX', get_option('PIM_PATH_PREFIX'))
+configure_file(output: 'config.h',
+            configuration : conf_data)
 
 libvpdecc_src = files(
     'vpdecc/vpdecc.c',
@@ -74,185 +62,26 @@
     install: true,
 )
 
-compiler = meson.get_compiler('cpp')
-python = find_program('python3', required:true)
-
-if compiler.has_header('CLI/CLI.hpp')
-    CLI11_dep = declare_dependency()
-else
-    CLI11_dep = dependency('CLI11')
-endif
-
-if not build_tests.disabled()
-    subdir('test')
-endif
-
-configure_file(output: 'config.h',
-                       configuration :{
-                       'INVENTORY_JSON_DEFAULT': '"'+get_option('INVENTORY_JSON_DEFAULT')+'"',
-                       'VPD_FILES_PATH': '"'+get_option('VPD_FILES_PATH')+'"',
-                       'INVENTORY_PATH': '"'+get_option('INVENTORY_PATH')+'"',
-                       'IPZ_INTERFACE': '"'+get_option('IPZ_INTERFACE')+'"',
-                       'INVENTORY_MANAGER_SERVICE': '"'+get_option('INVENTORY_MANAGER_SERVICE')+'"',
-                       'BUSNAME' : '"' + get_option('BUSNAME') + '"',
-                       'OBJPATH' : '"' + get_option('OBJPATH') + '"',
-                       'IFACE' : '"' + get_option('IFACE') + '"',
-                       'POWER_SUPPLY_TYPE_INTERFACE' : '"'+get_option('POWER_SUPPLY_TYPE_INTERFACE')+'"',
-                       'INVENTORY_MANAGER_CACHE' : '"'+get_option('INVENTORY_MANAGER_CACHE')+'"',
-                       'INVENTORY_JSON_SYM_LINK': '"'+get_option('INVENTORY_JSON_SYM_LINK')+'"',
-                       'DBUS_PROP_JSON': '"'+get_option('DBUS_PROP_JSON')+'"',
-                       'SYSTEM_JSON' : '"'+get_option('SYSTEM_JSON')+'"',
-                       'BAD_VPD_DIR': '"'+get_option('BAD_VPD_DIR')+'"',
-                       'FAN_INTERFACE': '"'+get_option('FAN_INTERFACE')+'"'
-                       }
-  )
-
-common_SOURCES =['common_utility.cpp',
-'vpd-parser/parser_factory.cpp',
-                 'vpd-parser/memory_vpd_parser.cpp',
-                 'vpd-parser/isdimm_vpd_parser.cpp',
-                 'vpd-parser/keyword_vpd_parser.cpp',
-                 'vpd-parser/ipz_parser.cpp', 'impl.cpp', 'ibm_vpd_utils.cpp',
-]
-
-if get_option('ibm-parser').allowed()
-        libgpiodcxx = dependency(
+libgpiodcxx = dependency(
             'libgpiodcxx',
             default_options: ['bindings=cxx'],
         )
-        ibm_read_vpd_SOURCES = ['ibm_vpd_app.cpp',
-                                'vpd-manager/editor_impl.cpp',
-                               ]+common_SOURCES
 
-        vpd_tool_INCLUDE = include_directories('vpd-parser/', 'vpd-manager')
+subdir('vpd-manager')
 
-        ibm_vpd_exe = executable(
-                                'ibm-read-vpd',
-                                ibm_read_vpd_SOURCES,
-                                dependencies: [
-                                        sdbusplus,
-                                        phosphor_logging,
-                                        libgpiodcxx,
-                                        nlohmann_json_dep,
-                                        CLI11_dep,
-                                ],
-                                link_with : libvpdecc,
-                                include_directories : vpd_tool_INCLUDE,
-                                install: true,
-                                cpp_args : '-DIPZ_PARSER'
-                            )
-
-        vpd_tool_SOURCES = ['vpd_tool.cpp',
-                            'vpd_tool_impl.cpp',
-                            'vpd-manager/editor_impl.cpp',
-                           ]+common_SOURCES
-
-
-        vpd_tool_exe = executable(
-                                 'vpd-tool',
-                                 vpd_tool_SOURCES,
-                                 dependencies: [
-                                   CLI11_dep,
-                                   libgpiodcxx,
-                                   nlohmann_json_dep,
-                                   phosphor_logging,
-                                   sdbusplus,
-                                   ],
-                                 link_with : libvpdecc,
-                                 install: true,
-                                 include_directories : vpd_tool_INCLUDE,
-                                 cpp_args : '-DIPZ_PARSER'
-                                 )
-if get_option('vpd-manager').allowed()
-    subdir('vpd-manager')
-endif
-
+services = ['service_files/vpd-manager.service',
+            'service_files/system-vpd.service',
+            'service_files/wait-vpd-parsers.service']
+            
 systemd_system_unit_dir = dependency('systemd').get_variable(
         'systemdsystemunitdir')
-
-udev_dir = dependency('udev').get_variable(
-        'udev_dir')
-
-rules = ['rules/70-ibm-vpd-parser.rules']
-
-install_data(rules, install_mode: 'rw-r--r--', install_dir: udev_dir/'rules.d')
-
-services = ['service_files/system-vpd.service',
-            'service_files/ibm-vpd-parser@.service',
-            'service_files/com.ibm.VPD.Manager.service',
-            'service_files/wait-vpd-parsers.service',
-            'service_files/ibm-isdimm-vpd-parser@.service',
-            'service_files/ibm-spi-vpd-parser@.service']
-
 install_data(services, install_dir: systemd_system_unit_dir)
 
-scripts = ['scripts/wait-vpd-parsers.sh']
+scripts = ['scripts/wait-vpd-status.sh']
 
 install_data(scripts,
     install_mode: 'rwxr-xr-x',
     install_dir: get_option('bindir'))
 
 package_datadir = join_paths('share', 'vpd')
-install_subdir('config/ibm/', install_mode: 'rwxr-xr-x', install_dir: package_datadir, strip_directory: true)
-
-else
-        FRUGEN = '$srcdir/extra-properties.py -e' + get_option('FRU_YAML')
-        PROPGEN = '$srcdir/extra-properties.py -e' + get_option('PROP_YAML')
-
-        src_dir = meson.project_source_root()
-        FRU_GEN_SCRIPT = src_dir + '/writefru.py'
-        FRU_GEN_SCRIPT_FILES = src_dir + '/writefru.yaml'
-
-        PROP_GEN_SCRIPT = src_dir + '/extra-properties.py'
-        PROP_GEN_SCRIPT_FILES = src_dir + '/extra-properties-example.yaml'
-
-        writefru_hpp = custom_target('writefru.hpp',
-                                     command:[python,
-                                              FRU_GEN_SCRIPT,
-                                              '-i',
-                                              get_option('FRU_YAML')
-                                     ],
-                                     depend_files :['writefru.mako.hpp',
-                                                    'writefru.py',
-                                                    get_option('FRU_YAML')
-                                     ],
-                                     output:'writefru.hpp'
-        )
-
-        extra_properties_gen_hpp = custom_target(
-                                        'extra-properties-gen.hpp',
-                                        command:[
-                                                python,
-                                                PROP_GEN_SCRIPT,
-                                                '-e',
-                                                get_option('PROP_YAML')
-                                        ],
-                                        depend_files : ['extra-properties.mako.hpp',
-                                                        'extra-properties.py',
-                                                        get_option('PROP_YAML')
-                                        ],
-                                        output:'extra-properties-gen.hpp'
-        )
-
-        openpower_read_vpd_SOURCES = ['app.cpp',
-                                      'args.cpp',
-                                      'impl.cpp',
-                                      'vpd-parser/ipz_parser.cpp',
-                                      'write.cpp',
-                                      'common_utility.cpp',
-                                      writefru_hpp,
-                                      extra_properties_gen_hpp
-        ]
-
-        openpower_read_vpd_exe= executable(
-                'openpower-read-vpd',
-                openpower_read_vpd_SOURCES,
-                dependencies: [
-                        sdbusplus,
-                        phosphor_logging,
-                        nlohmann_json_dep,
-                ],
-                include_directories : 'vpd-parser/',
-                install: true,
-        )
-endif
+install_subdir('configuration/ibm/', install_mode: 'rwxr-xr-x', install_dir: package_datadir, strip_directory: true)
diff --git a/meson.options b/meson.options
deleted file mode 100644
index 64118fa..0000000
--- a/meson.options
+++ /dev/null
@@ -1,21 +0,0 @@
-option('oe-sdk', type: 'feature', value : 'disabled', description: 'ENABLE OE SDK FOR OPENPOWER VPD PARSER')
-option('tests', type: 'feature', value : 'enabled', description: 'Build tests')
-option('FRU_YAML',type: 'string', value: 'writefru.yaml',  description: 'YAML STRING')
-option('PROP_YAML',type: 'string', value: 'extra-properties-example.yaml',  description: 'YAML PROPERTY')
-option('ibm-parser', type: 'feature', description: 'ENABLE IBM PARSER')
-option('VPD_FILES_PATH',type: 'string', value: '/var/lib/vpd', description: 'Directory to hold VPD runtime files')
-option('INVENTORY_JSON_DEFAULT',type: 'string', value: '/usr/share/vpd/vpd_inventory.json',  description: 'JSON file that defines inventory blueprint. The default path before system VPD service sets up the symlink.')
-option('INVENTORY_PATH',type: 'string', value: '/xyz/openbmc_project/inventory', description: 'Prefix for inventory D-Bus objects')
-option('INVENTORY_MANAGER_SERVICE',type: 'string', value: 'xyz.openbmc_project.Inventory.Manager', description: 'Inventory manager service')
-option('IPZ_INTERFACE', type: 'string', value: 'com.ibm.ipzvpd', description: 'IPZ VPD interface')
-option('BUSNAME', type : 'string', value : 'com.ibm.VPD.Manager',description : 'BUS NAME FOR THE SERVICE')
-option('OBJPATH', type : 'string', value : '/com/ibm/VPD/Manager', description : 'OBJECT PATH FOR THE SERVICE')
-option('IFACE', type : 'string', value : 'com.ibm.VPD.Manager', description : 'INTERFACE NAME')
-option('vpd-manager', type: 'feature', description: 'ENABLE VPD-MANAGERR APPLICATION')
-option('POWER_SUPPLY_TYPE_INTERFACE', type : 'string', value : 'xyz.openbmc_project.Inventory.Item.PowerSupply', description : 'Power Supply Type Interface')
-option('INVENTORY_MANAGER_CACHE', type : 'string', value : '/var/lib/phosphor-inventory-manager', description : 'Path to inventory manager cache')
-option('INVENTORY_JSON_SYM_LINK',type: 'string', value: '/var/lib/vpd/vpd_inventory.json',  description: 'Symbolic link to vpd inventory json.')
-option('DBUS_PROP_JSON',type: 'string', value: '/usr/share/vpd/dbus_properties.json',  description: 'Json which contains properties specific to dbus.')
-option('SYSTEM_JSON',type: 'string', value: '/usr/share/vpd/systems.json',  description: 'JSON file used to pick the right system json')
-option('BAD_VPD_DIR',type: 'string', value: '/tmp/bad-vpd/', description: 'Directory which contains the bad vpd file - which needs to be included in bmc dump.')
-option('FAN_INTERFACE', type: 'string', value: 'xyz.openbmc_project.Inventory.Item.Fan', description: 'Fan type interface.')
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..72bd1d6
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,13 @@
+option('BUSNAME', type : 'string', value : 'com.ibm.VPD.Manager',description : 'BUS NAME FOR THE SERVICE')
+option('OBJPATH', type : 'string', value : '/com/ibm/VPD/Manager', description : 'OBJECT PATH FOR THE SERVICE')
+option('IFACE', type : 'string', value : 'com.ibm.VPD.Manager', description : 'INTERFACE NAME')
+option('tests', type: 'feature', value : 'enabled', description: 'Build tests')
+option('ipz_ecc_check', type: 'feature', value : 'disabled', description: 'enable when ECC check used in IPZ parsering, used for Gtest cases.')
+option('BAD_VPD_DIR', type: 'string', value: '/tmp/bad-vpd/', description: 'Directory which contains the bad vpd file - which needs to be included in bmc dump.')
+option('INVENTORY_JSON_DEFAULT', type: 'string', value: '/usr/share/vpd/vpd_inventory.json',  description: 'JSON file that defines inventory blueprint. The default path before system VPD service sets up the symlink.')
+option('INVENTORY_JSON_SYM_LINK', type: 'string', value: '/var/lib/vpd/vpd_inventory.json',  description: 'Symbolic link to vpd inventory json.')
+option('JSON_ABSOLUTE_PATH_PREFIX', type: 'string', value: '/usr/share/vpd/',  description: 'Path that has all system JSONs.')
+option('SYSTEM_VPD_FILE_PATH', type: 'string', value: '/sys/bus/i2c/drivers/at24/8-0050/eeprom',  description: 'EEPROM path of system VPD.')
+option('VPD_SYMLIMK_PATH', type: 'string', value: '/var/lib/vpd',  description: 'Symlink folder for VPD invnetory JSONs')
+option('PIM_PATH_PREFIX', type: 'string', value: '/xyz/openbmc_project/inventory', description: 'Prefix for PIM inventory paths.')
+option('ibm_system', type: 'feature', value : 'enabled', description: 'Enable code specific to IBM systems.')
\ No newline at end of file
diff --git a/rules/70-ibm-vpd-parser.rules b/rules/70-ibm-vpd-parser.rules
deleted file mode 100644
index c86a700..0000000
--- a/rules/70-ibm-vpd-parser.rules
+++ /dev/null
@@ -1,3 +0,0 @@
-SUBSYSTEM=="nvmem", SUBSYSTEMS=="i2c", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ibm-vpd-parser@%N.service"
-SUBSYSTEM=="i2c", DRIVER=="ee1004", ACTION=="bind", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ibm-isdimm-vpd-parser@%N.service"
-SUBSYSTEM=="nvmem", SUBSYSTEMS=="spi", ENV{OF_NAME}=="eeprom", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}+="ibm-spi-vpd-parser@%N.service"
diff --git a/scripts/wait-vpd-parsers.sh b/scripts/wait-vpd-parsers.sh
deleted file mode 100644
index 67ba05a..0000000
--- a/scripts/wait-vpd-parsers.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-retries=100
-echo "Checking every 2s for active VPD parsers...."
-while [ "$retries" -ne 0 ]
-do
-    sleep 2
-    systemctl -q is-active ibm-vpd-parser@*.service
-    active=$?
-    if [ $active -ne 0 ]
-    then
-        echo "Done wait for active VPD parsers. Exit success"
-        exit 0
-    fi
-    retries="$((retries - 1))"
-    echo "VPD parsers still running. Retries remaining: $retries"
-done
-echo "Exit wait for VPD services to finish with timeout"
-exit 1
diff --git a/scripts/wait-vpd-status.sh b/scripts/wait-vpd-status.sh
new file mode 100644
index 0000000..ecf0533
--- /dev/null
+++ b/scripts/wait-vpd-status.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+retries=100
+echo "Checking every 2s for VPD collection status ...."
+while [ "$retries" -ne 0 ]
+do
+    sleep 2
+    output=$(busctl get-property com.ibm.VPD.Manager /com/ibm/VPD/Manager com.ibm.VPD.Manager CollectionStatus)
+
+    if echo "$output" | grep -q "Completed" ; then
+        echo "VPD collection is completed"
+        exit 0
+    fi
+
+    retries="$((retries - 1))"
+    echo "Waiting for VPD status update. Retries remaining: $retries"
+done
+echo "Exit wait for VPD services to finish with timeout"
+exit 1
diff --git a/service_files/com.ibm.VPD.Manager.service b/service_files/com.ibm.VPD.Manager.service
deleted file mode 100644
index 04f157d..0000000
--- a/service_files/com.ibm.VPD.Manager.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=IBM VPD Manager
-StopWhenUnneeded=false
-Requires=system-vpd.service
-After=system-vpd.service
-
-[Service]
-BusName=com.ibm.VPD.Manager
-Type=dbus
-Restart=always
-RestartSec=5
-ExecStart=/usr/bin/vpd-manager
-
-[Install]
-WantedBy=multi-user.target
diff --git a/service_files/ibm-isdimm-vpd-parser@.service b/service_files/ibm-isdimm-vpd-parser@.service
deleted file mode 100644
index d92ee52..0000000
--- a/service_files/ibm-isdimm-vpd-parser@.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Jedec format VPD Parser service for FRU %I
-Wants=mapper-wait@-xyz-openbmc_project-inventory.service
-After=mapper-wait@-xyz-openbmc_project-inventory.service
-Requires=system-vpd.service
-After=system-vpd.service
-Before=phosphor-discover-system-state@0.service
-
-[Service]
-ExecStart=/usr/bin/env ibm-read-vpd --file %f --driver ee1004
-SyslogIdentifier=ibm-isdimm-vpd-parser
-
-[Install]
-WantedBy=multi-user.target
diff --git a/service_files/ibm-spi-vpd-parser@.service b/service_files/ibm-spi-vpd-parser@.service
deleted file mode 100644
index eaecbbc..0000000
--- a/service_files/ibm-spi-vpd-parser@.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description= IPZ format SPI VPD Parser service for FRU %I
-Wants=mapper-wait@-xyz-openbmc_project-inventory.service
-After=mapper-wait@-xyz-openbmc_project-inventory.service
-Requires=system-vpd.service
-After=system-vpd.service
-Before=phosphor-discover-system-state@0.service
-
-[Service]
-ExecStart=/usr/bin/env ibm-read-vpd --file %f --driver at25
-SyslogIdentifier=ibm-spi-vpd-parser
-
-[Install]
-WantedBy=multi-user.target
diff --git a/service_files/ibm-vpd-parser@.service b/service_files/ibm-vpd-parser@.service
deleted file mode 100644
index a8b2063..0000000
--- a/service_files/ibm-vpd-parser@.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=IPZ format VPD Parser service for FRU %I
-Wants=mapper-wait@-xyz-openbmc_project-inventory.service
-After=mapper-wait@-xyz-openbmc_project-inventory.service
-Requires=system-vpd.service
-After=system-vpd.service
-Before=phosphor-discover-system-state@0.service
-
-[Service]
-ExecStart=/usr/bin/env ibm-read-vpd --file %f --driver at24
-SyslogIdentifier=ibm-vpd-parser
-
-[Install]
-WantedBy=multi-user.target
diff --git a/service_files/system-vpd.service b/service_files/system-vpd.service
index 5c1f076..019c3b2 100644
--- a/service_files/system-vpd.service
+++ b/service_files/system-vpd.service
@@ -1,19 +1,7 @@
+#currently these services are added just for backward compatibility.
+#It will perform no task in the system and will be eventually removed.
+
 [Unit]
 Description=System VPD Collection
-Wants=mapper-wait@-xyz-openbmc_project-inventory.service
-After=mapper-wait@-xyz-openbmc_project-inventory.service
-Wants=obmc-power-reset-on@0.target
-After=obmc-power-reset-on@0.target
-Wants=mapper-wait@-xyz-openbmc_project-state-chassis0.service
-After=mapper-wait@-xyz-openbmc_project-state-chassis0.service
-After=set-spi-mux.service
+After=vpd-manager.service
 Before=phosphor-discover-system-state@0.service
-
-[Service]
-ExecStart=/usr/bin/env ibm-read-vpd --file /sys/bus/i2c/drivers/at24/8-0050/eeprom --driver at24
-SyslogIdentifier=ibm-vpd-parser
-Type=oneshot
-RemainAfterExit=yes
-
-[Install]
-RequiredBy=multi-user.target
diff --git a/service_files/vpd-manager.service b/service_files/vpd-manager.service
new file mode 100644
index 0000000..8c78781
--- /dev/null
+++ b/service_files/vpd-manager.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=VPD Manager
+StopWhenUnneeded=false
+Wants=mapper-wait@-xyz-openbmc_project-inventory.service
+After=mapper-wait@-xyz-openbmc_project-inventory.service
+Wants=obmc-power-reset-on@0.target
+After=obmc-power-reset-on@0.target
+Wants=mapper-wait@-xyz-openbmc_project-state-chassis0.service
+After=mapper-wait@-xyz-openbmc_project-state-chassis0.service
+After=set-spi-mux.service
+Before=phosphor-discover-system-state@0.service
+
+[Service]
+BusName=com.ibm.VPD.Manager
+SyslogIdentifier=vpd-manager
+Type=dbus
+Restart=always
+RestartSec=5
+ExecStart=/usr/bin/vpd-manager
+
+[Install]
+WantedBy=multi-user.target
\ No newline at end of file
diff --git a/service_files/wait-vpd-parsers.service b/service_files/wait-vpd-parsers.service
index 95fc22f..8b39310 100644
--- a/service_files/wait-vpd-parsers.service
+++ b/service_files/wait-vpd-parsers.service
@@ -1,12 +1,15 @@
+#currently these services are added just for backward compatibility.
+#It will perform no task in the system and will be eventually removed.
+
 [Unit]
 Description=Wait for VPD Collection Services to complete
-After=system-vpd.service
+Wants=vpd-manager.service
+After=vpd-manager.service
 After=set-spi-mux.service
 
 [Service]
-ExecStart=/usr/bin/wait-vpd-parsers.sh
+ExecStart=/usr/bin/wait-vpd-status.sh
 Type=oneshot
 
 [Install]
-WantedBy=multi-user.target
-#WantedBy=obmc-chassis-poweroff@0.target
+WantedBy=multi-user.target
\ No newline at end of file
diff --git a/store.hpp b/store.hpp
deleted file mode 100644
index b3f30e6..0000000
--- a/store.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-#pragma once
-
-#include "defines.hpp"
-#include "types.hpp"
-
-#include <iostream>
-#include <string>
-#include <unordered_map>
-
-namespace openpower
-{
-namespace vpd
-{
-
-/** @brief Parsed VPD is represented as a dictionary of records, where
- *         each record in itself is a dictionary of keywords */
-using Parsed = std::unordered_map<std::string,
-                                  std::unordered_map<std::string, std::string>>;
-
-/** @class Store
- *  @brief Store for parsed OpenPOWER VPD
- *
- *  A Store object stores parsed OpenPOWER VPD, and provides access
- *  to the VPD, specified by record and keyword. Parsed VPD is typically
- *  provided by the Parser class.
- */
-class Store final
-{
-  public:
-    Store() = delete;
-    Store(const Store&) = delete;
-    Store& operator=(const Store&) = delete;
-    Store(Store&&) = default;
-    Store& operator=(Store&&) = default;
-    ~Store() = default;
-
-    /** @brief Construct a Store
-     *
-     *  @param[in] vpdBuffer - A parsed VPD object
-     */
-    explicit Store(Parsed&& vpdBuffer) : vpd(std::move(vpdBuffer)) {}
-
-    /** @brief Retrieves VPD from Store as a Parsed object
-     *
-     *  @returns VPD as a Parsed object
-     */
-    inline Parsed& getVpdMap()
-    {
-        return vpd;
-    }
-
-    /** @brief Retrieves VPD from Store
-     *
-     *  @tparam R - VPD record
-     *  @tparam K - VPD keyword
-     *  @returns VPD stored in input record:keyword
-     */
-    template <Record R, record::Keyword K>
-    inline const std::string& get() const;
-
-    /** @brief Checks if VPD exists in store
-     *
-     *  @tparam R - VPD record
-     *  @tparam K - VPD keyword
-     *  @returns true if {R,K} exists
-     */
-    template <Record R, record::Keyword K>
-    bool exists() const
-    {
-        static const std::string record = getRecord<R>();
-        static const std::string keyword = record::getKeyword<K>();
-        return vpd.count(record) && vpd.at(record).count(keyword);
-    }
-
-    /** @brief Displays all data in the store to stdout
-     */
-    void dump() const
-    {
-        for (const auto& [vpdname, avpd] : vpd)
-        {
-            std::cout << vpdname << ": " << std::endl;
-
-            for (const auto& [key, val] : avpd)
-            {
-                std::cout << "\t" << key << " : " << val << std::endl;
-            }
-        }
-    }
-
-  private:
-    /** @brief The store for parsed VPD */
-    Parsed vpd;
-};
-
-template <Record R, record::Keyword K>
-inline const std::string& Store::get() const
-{
-    static const std::string record = getRecord<R>();
-    static const std::string keyword = record::getKeyword<K>();
-    static const std::string empty = "";
-    auto kw = vpd.find(record);
-    if (vpd.end() != kw)
-    {
-        auto value = (kw->second).find(keyword);
-        if ((kw->second).end() != value)
-        {
-            return value->second;
-        }
-    }
-    return empty;
-}
-
-} // namespace vpd
-} // namespace openpower
diff --git a/subprojects/CLI11.wrap b/subprojects/CLI11.wrap
deleted file mode 100644
index 2e5a95b8..0000000
--- a/subprojects/CLI11.wrap
+++ /dev/null
@@ -1,6 +0,0 @@
-[wrap-git]
-url = https://github.com/CLIUtils/CLI11.git
-revision = HEAD
-
-[provide]
-CLI11 = CLI11_dep
diff --git a/subprojects/googletest.wrap b/subprojects/googletest.wrap
deleted file mode 100644
index 56da9ef..0000000
--- a/subprojects/googletest.wrap
+++ /dev/null
@@ -1,3 +0,0 @@
-[wrap-git]
-url = https://github.com/google/googletest
-revision = HEAD
diff --git a/subprojects/libgpiod.wrap b/subprojects/libgpiod.wrap
deleted file mode 100644
index f650e74..0000000
--- a/subprojects/libgpiod.wrap
+++ /dev/null
@@ -1,13 +0,0 @@
-[wrap-file]
-directory = libgpiod-1.6.3
-source_url = https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-1.6.3.tar.gz
-source_filename = libgpiod-1.6.3.tar.gz
-source_hash = eb446070be1444fd7d32d32bbca53c2f3bbb0a21193db86198cf6050b7a28441
-patch_filename = libgpiod_1.6.3-1_patch.zip
-patch_url = https://wrapdb.mesonbuild.com/v2/libgpiod_1.6.3-1/get_patch
-patch_hash = 76821c637073679a88f77593c6f7ce65b4b5abf8c998f823fffa13918c8761df
-
-[provide]
-libgpiod = gpiod_dep
-libgpiodcxx = gpiodcxx_dep
-
diff --git a/subprojects/nlohmann_json.wrap b/subprojects/nlohmann_json.wrap
deleted file mode 100644
index 3745380..0000000
--- a/subprojects/nlohmann_json.wrap
+++ /dev/null
@@ -1,6 +0,0 @@
-[wrap-git]
-revision = HEAD
-url = https://github.com/nlohmann/json.git
-
-[provide]
-nlohmann_json = nlohmann_json_dep
diff --git a/subprojects/phosphor-dbus-interfaces.wrap b/subprojects/phosphor-dbus-interfaces.wrap
deleted file mode 100644
index 935a8b2..0000000
--- a/subprojects/phosphor-dbus-interfaces.wrap
+++ /dev/null
@@ -1,3 +0,0 @@
-[wrap-git]
-url = https://github.com/openbmc/phosphor-dbus-interfaces.git
-revision = HEAD
diff --git a/subprojects/phosphor-logging.wrap b/subprojects/phosphor-logging.wrap
deleted file mode 100644
index a039fcf..0000000
--- a/subprojects/phosphor-logging.wrap
+++ /dev/null
@@ -1,3 +0,0 @@
-[wrap-git]
-url = https://github.com/openbmc/phosphor-logging.git
-revision = HEAD
diff --git a/subprojects/sdbusplus.wrap b/subprojects/sdbusplus.wrap
deleted file mode 100644
index edd9a31..0000000
--- a/subprojects/sdbusplus.wrap
+++ /dev/null
@@ -1,7 +0,0 @@
-[wrap-git]
-url = https://github.com/openbmc/sdbusplus.git
-revision = HEAD
-
-[provide]
-sdbusplus = sdbusplus_dep
-program_names = sdbus++, sdbus++-gen-meson
diff --git a/test/bono.vpd b/test/bono.vpd
deleted file mode 100644
index afc1b8e..0000000
--- a/test/bono.vpd
+++ /dev/null
Binary files differ
diff --git a/test/ipz_parser/parser.cpp b/test/ipz_parser/parser.cpp
deleted file mode 100644
index 0a36ad7..0000000
--- a/test/ipz_parser/parser.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-#include "ipz_parser.hpp"
-
-#include <const.hpp>
-#include <defines.hpp>
-#include <impl.hpp>
-#include <store.hpp>
-
-#include <cassert>
-#include <fstream>
-#include <iterator>
-
-#include <gtest/gtest.h>
-
-using namespace openpower::vpd;
-using namespace openpower::vpd::constants;
-
-constexpr uint32_t vpdOffset = 0;
-
-TEST(IpzVpdParserApp, vpdGoodPath)
-{
-    // Create a vpd
-    Binary vpd = {
-        0x00, 0x0f, 0x17, 0xba, 0x42, 0xca, 0x82, 0xd7, 0x7b, 0x77, 0x1e, 0x84,
-        0x28, 0x00, 0x52, 0x54, 0x04, 0x56, 0x48, 0x44, 0x52, 0x56, 0x44, 0x02,
-        0x30, 0x31, 0x50, 0x54, 0x0e, 0x56, 0x54, 0x4f, 0x43, 0xd5, 0x00, 0x37,
-        0x00, 0x4c, 0x00, 0x97, 0x05, 0x13, 0x00, 0x50, 0x46, 0x08, 0x00, 0x00,
-        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x84, 0x48, 0x00, 0x52, 0x54,
-        0x04, 0x56, 0x54, 0x4f, 0x43, 0x50, 0x54, 0x0e, 0x56, 0x49, 0x4e, 0x49,
-        0xd5, 0x00, 0x52, 0x00, 0x90, 0x00, 0x73, 0x05, 0x24, 0x00, 0x84, 0x8c,
-        0x00, 0x52, 0x54, 0x04, 0x56, 0x49, 0x4e, 0x49, 0x44, 0x52, 0x10, 0x41,
-        0x50, 0x53, 0x53, 0x20, 0x26, 0x20, 0x54, 0x50, 0x4d, 0x20, 0x20, 0x43,
-        0x41, 0x52, 0x44, 0x43, 0x45, 0x01, 0x31, 0x56, 0x5a, 0x02, 0x30, 0x31,
-        0x46, 0x4e, 0x07, 0x30, 0x31, 0x44, 0x48, 0x32, 0x30, 0x30, 0x50, 0x4e,
-        0x07, 0x30, 0x31, 0x44, 0x48, 0x32, 0x30, 0x31, 0x53, 0x4e, 0x0c, 0x59,
-        0x4c, 0x33, 0x30, 0x42, 0x47, 0x37, 0x43, 0x46, 0x30, 0x33, 0x50, 0x43,
-        0x43, 0x04, 0x36, 0x42, 0x36, 0x36, 0x50, 0x52, 0x08, 0x00, 0x00, 0x00,
-        0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x45, 0x04, 0x30, 0x30, 0x30, 0x31,
-        0x43, 0x54, 0x04, 0x40, 0xb8, 0x02, 0x03, 0x48, 0x57, 0x02, 0x00, 0x01,
-        0x42, 0x33, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x34, 0x01,
-        0x00, 0x42, 0x37, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-        0x00, 0x00, 0x00, 0x00, 0x50, 0x46, 0x02, 0x00, 0x00, 0x78, 0x84, 0xdc,
-        0x00, 0x52, 0x54, 0x04};
-
-    // call app for this vpd
-    parser::Impl p(std::move(vpd), std::string{}, systemVpdFilePath, vpdOffset);
-    Store vpdStore = p.run();
-
-    static const std::string record = "VINI";
-    static const std::string keyword = "DR";
-
-    // TODO 2: Move this as an utility to store.hpp
-    std::string dataFound;
-    Parsed st_bin = vpdStore.getVpdMap();
-
-    auto kw = st_bin.find(record);
-    if (st_bin.end() != kw)
-    {
-        auto value = (kw->second).find(keyword);
-        if ((kw->second).end() != value)
-        {
-            dataFound = value->second;
-        }
-    }
-
-    ASSERT_EQ(dataFound, "APSS & TPM  CARD");
-}
-
-TEST(IpzVpdParserApp, vpdBadPathEmptyVPD)
-{
-    Binary vpd = {};
-
-    // VPD is empty
-    parser::Impl p(std::move(vpd), std::string{}, systemVpdFilePath, vpdOffset);
-
-    // Expecting a throw here
-    EXPECT_THROW(p.run(), std::runtime_error);
-}
-
-TEST(IpzVpdParserApp, vpdBadPathMissingHeader)
-{
-    Binary vpd = {
-        0x00, 0x0f, 0x17, 0xba, 0x42, 0xca, 0x82, 0xd7, 0x7b, 0x77, 0x1e, 0x84,
-        0x28, 0x00, 0x52, 0x54, 0x04, 0x56, 0x48, 0x44, 0x52, 0x56, 0x44, 0x02,
-        0x30, 0x31, 0x50, 0x54, 0x0e, 0x56, 0x54, 0x4f, 0x43, 0xd5, 0x00, 0x37,
-        0x00, 0x4c, 0x00, 0x97, 0x05, 0x13, 0x00, 0x50, 0x46, 0x08, 0x00, 0x00,
-        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x84, 0x48, 0x00, 0x52, 0x54,
-        0x04, 0x56, 0x54, 0x4f, 0x43, 0x50, 0x54, 0x0e, 0x56, 0x49, 0x4e, 0x49,
-        0xd5, 0x00, 0x52, 0x00, 0x90, 0x00, 0x73, 0x05, 0x24, 0x00, 0x84, 0x8c,
-        0x00, 0x52, 0x54, 0x04, 0x56, 0x49, 0x4e, 0x49, 0x44, 0x52, 0x10, 0x41,
-        0x50, 0x53, 0x53, 0x20, 0x26, 0x20, 0x54, 0x50, 0x4d, 0x20, 0x20, 0x43,
-        0x41, 0x52, 0x44, 0x43, 0x45, 0x01, 0x31, 0x56, 0x5a, 0x02, 0x30, 0x31,
-        0x46, 0x4e, 0x07, 0x30, 0x31, 0x44, 0x48, 0x32, 0x30, 0x30, 0x50, 0x4e,
-        0x07, 0x30, 0x31, 0x44, 0x48, 0x32, 0x30, 0x31, 0x53, 0x4e, 0x0c, 0x59,
-        0x4c, 0x33, 0x30, 0x42, 0x47, 0x37, 0x43, 0x46, 0x30, 0x33, 0x50, 0x43,
-        0x43, 0x04, 0x36, 0x42, 0x36, 0x36, 0x50, 0x52, 0x08, 0x00, 0x00, 0x00,
-        0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x45, 0x04, 0x30, 0x30, 0x30, 0x31,
-        0x43, 0x54, 0x04, 0x40, 0xb8, 0x02, 0x03, 0x48, 0x57, 0x02, 0x00, 0x01,
-        0x42, 0x33, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x34, 0x01,
-        0x00, 0x42, 0x37, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-        0x00, 0x00, 0x00, 0x00, 0x50, 0x46, 0x02, 0x00, 0x00, 0x78, 0x84, 0xdc,
-        0x00, 0x52, 0x54, 0x04};
-
-    // corrupt the VHDR
-    vpd[17] = 0x00;
-
-    parser::Impl p(std::move(vpd), std::string{}, systemVpdFilePath, vpdOffset);
-
-    // Expecting a throw here
-    EXPECT_THROW(p.run(), std::runtime_error);
-}
-
-TEST(IpzVpdParserApp, vpdBadPathMissingVTOC)
-{
-    Binary vpd = {
-        0x00, 0x0f, 0x17, 0xba, 0x42, 0xca, 0x82, 0xd7, 0x7b, 0x77, 0x1e, 0x84,
-        0x28, 0x00, 0x52, 0x54, 0x04, 0x56, 0x48, 0x44, 0x52, 0x56, 0x44, 0x02,
-        0x30, 0x31, 0x50, 0x54, 0x0e, 0x56, 0x54, 0x4f, 0x43, 0xd5, 0x00, 0x37,
-        0x00, 0x4c, 0x00, 0x97, 0x05, 0x13, 0x00, 0x50, 0x46, 0x08, 0x00, 0x00,
-        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x84, 0x48, 0x00, 0x52, 0x54,
-        0x04, 0x56, 0x54, 0x4f, 0x43, 0x50, 0x54, 0x0e, 0x56, 0x49, 0x4e, 0x49,
-        0xd5, 0x00, 0x52, 0x00, 0x90, 0x00, 0x73, 0x05, 0x24, 0x00, 0x84, 0x8c,
-        0x00, 0x52, 0x54, 0x04, 0x56, 0x49, 0x4e, 0x49, 0x44, 0x52, 0x10, 0x41,
-        0x50, 0x53, 0x53, 0x20, 0x26, 0x20, 0x54, 0x50, 0x4d, 0x20, 0x20, 0x43,
-        0x41, 0x52, 0x44, 0x43, 0x45, 0x01, 0x31, 0x56, 0x5a, 0x02, 0x30, 0x31,
-        0x46, 0x4e, 0x07, 0x30, 0x31, 0x44, 0x48, 0x32, 0x30, 0x30, 0x50, 0x4e,
-        0x07, 0x30, 0x31, 0x44, 0x48, 0x32, 0x30, 0x31, 0x53, 0x4e, 0x0c, 0x59,
-        0x4c, 0x33, 0x30, 0x42, 0x47, 0x37, 0x43, 0x46, 0x30, 0x33, 0x50, 0x43,
-        0x43, 0x04, 0x36, 0x42, 0x36, 0x36, 0x50, 0x52, 0x08, 0x00, 0x00, 0x00,
-        0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x45, 0x04, 0x30, 0x30, 0x30, 0x31,
-        0x43, 0x54, 0x04, 0x40, 0xb8, 0x02, 0x03, 0x48, 0x57, 0x02, 0x00, 0x01,
-        0x42, 0x33, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x34, 0x01,
-        0x00, 0x42, 0x37, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-        0x00, 0x00, 0x00, 0x00, 0x50, 0x46, 0x02, 0x00, 0x00, 0x78, 0x84, 0xdc,
-        0x00, 0x52, 0x54, 0x04};
-
-    // corrupt the VTOC
-    vpd[61] = 0x00;
-
-    parser::Impl p(std::move(vpd), std::string{}, systemVpdFilePath, vpdOffset);
-
-    // Expecting a throw here
-    EXPECT_THROW(p.run(), std::runtime_error);
-}
-
-int main(int argc, char** argv)
-{
-    ::testing::InitGoogleTest(&argc, argv);
-
-    return RUN_ALL_TESTS();
-}
diff --git a/test/keyword_vpd_parser_test/kw_vpd_test.cpp b/test/keyword_vpd_parser_test/kw_vpd_test.cpp
deleted file mode 100644
index dc05358..0000000
--- a/test/keyword_vpd_parser_test/kw_vpd_test.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-#include "keyword_vpd_parser.hpp"
-#include "store.hpp"
-#include "types.hpp"
-
-#include <exception>
-#include <fstream>
-
-#include <gtest/gtest.h>
-
-using namespace vpd::keyword::parser;
-using namespace openpower::vpd;
-using namespace openpower::vpd::inventory;
-using namespace std;
-
-class KeywordVpdParserTest : public ::testing::Test
-{
-  protected:
-    Binary keywordVpdVector;
-    Binary bonoKwVpdVector;
-
-    KeywordVpdParserTest()
-    {
-        // Open the kw VPD file in binary mode
-        std::ifstream kwVpdFile("vpd.dat", std::ios::binary);
-
-        // Read the content of the binary file into a vector
-        keywordVpdVector.assign((std::istreambuf_iterator<char>(kwVpdFile)),
-                                std::istreambuf_iterator<char>());
-        // Open the BONO type kw VPD file in binary mode
-        std::ifstream bonoKwVpdFile("bono.vpd", std::ios::binary);
-
-        // Read the content of the binary file into a vector
-        bonoKwVpdVector.assign((std::istreambuf_iterator<char>(bonoKwVpdFile)),
-                               std::istreambuf_iterator<char>());
-    }
-};
-
-TEST_F(KeywordVpdParserTest, GoodTestCase)
-{
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    KeywordVpdMap map1{
-        pair<std::string, Binary>{"WI", {0x00}},
-        pair<std::string, Binary>{"FL", {0x50, 0x32, 0x20, 0x20, 0x20}},
-        pair<std::string, Binary>{
-            "SM",
-            {0x82, 0x50, 0x32, 0x2d, 0x44, 0x34, 0x20, 0x20, 0x20, 0x20, 0x20,
-             0x20, 0x32, 0x53, 0x53, 0x43, 0x81, 0x50, 0x32, 0x2d, 0x44, 0x35,
-             0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x53, 0x53, 0x43, 0x80,
-             0x50, 0x32, 0x2d, 0x44, 0x37, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
-             0x32, 0x53, 0x53, 0x43, 0x83, 0x50, 0x32, 0x2d, 0x44, 0x38, 0x20,
-             0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x53, 0x53, 0x43}},
-        pair<std::string, Binary>{
-            "B2",
-            {0x50, 0x05, 0x07, 0x60, 0x73, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00,
-             0x00, 0x00, 0x00, 0x01, 0x00}},
-        pair<std::string, Binary>{"MF", {0x00, 0x10}},
-        pair<std::string, Binary>{"VZ", {0x30, 0x33}},
-        pair<std::string, Binary>{"PN",
-                                  {0x30, 0x31, 0x4b, 0x55, 0x37, 0x32, 0x34}},
-        pair<std::string, Binary>{
-            "FN", {0x20, 0x30, 0x31, 0x4b, 0x55, 0x37, 0x32, 0x34}},
-        pair<std::string, Binary>{"CE", {0x31}},
-        pair<std::string, Binary>{"SN",
-                                  {0x59, 0x48, 0x33, 0x30, 0x42, 0x47, 0x37,
-                                   0x38, 0x42, 0x30, 0x31, 0x34}},
-        pair<std::string, Binary>{"CC", {0x32, 0x44, 0x33, 0x37}}};
-
-    auto map2 = std::move(get<KeywordVpdMap>(parserObj1.parse()));
-    ASSERT_EQ(1, map1 == map2);
-
-    // BONO TYPE VPD
-    KeywordVpdParser parserObj2(std::move(bonoKwVpdVector));
-    map1 = {
-        pair<std::string, Binary>{"B2",
-                                  {0x50, 0x0, 0xb3, 0xe0, 0x90, 0x0, 0x2, 0x50,
-                                   0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}},
-        pair<std::string, Binary>{"CC", {0x35, 0x39, 0x33, 0x42}},
-        pair<std::string, Binary>{"CT", {0x50, 0x37, 0x32, 0x0}},
-        pair<std::string, Binary>{"EC", {0x50, 0x34, 0x35, 0x35, 0x33, 0x37}},
-        pair<std::string, Binary>{"FN",
-                                  {0x30, 0x32, 0x44, 0x45, 0x33, 0x36, 0x35}},
-        pair<std::string, Binary>{"PN",
-                                  {0x30, 0x32, 0x44, 0x45, 0x33, 0x36, 0x36}},
-        pair<std::string, Binary>{"RV", {0xa1}},
-        pair<std::string, Binary>{
-            "SI", {0x31, 0x30, 0x31, 0x34, 0x30, 0x36, 0x37, 0x34}},
-        pair<std::string, Binary>{"SN",
-                                  {0x59, 0x4c, 0x35, 0x30, 0x48, 0x54, 0x39,
-                                   0x36, 0x4a, 0x30, 0x30, 0x38}},
-        pair<std::string, Binary>{"Z4", {0x30}},
-        pair<std::string, Binary>{"Z5", {0x30}},
-        pair<std::string, Binary>{
-            "Z6", {0x41, 0x31, 0x38, 0x30, 0x30, 0x32, 0x30, 0x30}}};
-
-    map2 = std::move(get<KeywordVpdMap>(parserObj2.parse()));
-    ASSERT_EQ(1, map1 == map2);
-}
-
-TEST_F(KeywordVpdParserTest, InvKwVpdTag)
-{
-    // Invalid Large resource type Identifier String - corrupted at index[0]
-    keywordVpdVector[0] = 0x83;
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    EXPECT_THROW(parserObj1.parse(), std::runtime_error);
-
-    // For BONO type VPD
-    bonoKwVpdVector[0] = 0x83;
-    KeywordVpdParser parserObj2(std::move(bonoKwVpdVector));
-    EXPECT_THROW(parserObj2.parse(), std::runtime_error);
-}
-
-TEST_F(KeywordVpdParserTest, InvKwValTag)
-{
-    // Invalid Large resource type Vendor Defined - corrupted at index[19]
-    keywordVpdVector[19] = 0x85;
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    EXPECT_THROW(parserObj1.parse(), std::runtime_error);
-
-    // For BONO type VPD - corruputed at index[33]
-    bonoKwVpdVector[33] = 0x91;
-    KeywordVpdParser parserObj2(std::move(bonoKwVpdVector));
-    EXPECT_THROW(parserObj2.parse(), std::runtime_error);
-}
-
-TEST_F(KeywordVpdParserTest, InvKwValSize)
-{
-    // Badly formed keyword VPD data - corrupted at index[20]
-    keywordVpdVector[20] = 0x00;
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    EXPECT_THROW(parserObj1.parse(), std::runtime_error);
-
-    // For BONO type VPD - corruputed at index[34]
-    bonoKwVpdVector[34] = 0x00;
-    KeywordVpdParser parserObj2(std::move(bonoKwVpdVector));
-    EXPECT_THROW(parserObj2.parse(), std::runtime_error);
-}
-
-TEST_F(KeywordVpdParserTest, InvKwValEndTag)
-{
-    // Invalid Small resource type End - corrupted at index[177]
-    keywordVpdVector[177] = 0x80;
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    EXPECT_THROW(parserObj1.parse(), std::runtime_error);
-}
-
-TEST_F(KeywordVpdParserTest, InvChecksum)
-{
-    // Invalid Check sum - corrupted at index[178]
-    keywordVpdVector[178] = 0xb1;
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    EXPECT_THROW(parserObj1.parse(), std::runtime_error);
-}
-
-TEST_F(KeywordVpdParserTest, InvKwVpdEndTag)
-{
-    // Invalid Small resource type Last End Of Data - corrupted at index[179]
-    keywordVpdVector[179] = 0x79;
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    EXPECT_THROW(parserObj1.parse(), std::runtime_error);
-
-    // For BONO type VPD - corrupted at index[147]
-    bonoKwVpdVector[147] = 0x79;
-    KeywordVpdParser parserObj2(std::move(bonoKwVpdVector));
-    EXPECT_THROW(parserObj2.parse(), std::runtime_error);
-}
-
-TEST_F(KeywordVpdParserTest, OutOfBoundGreaterSize)
-{
-    // Iterator Out of Bound - size is larger than the actual size - corrupted
-    // at index[24]
-    keywordVpdVector[24] = 0x32;
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    EXPECT_THROW(parserObj1.parse(), std::runtime_error);
-
-    // For BONO type VPD - corrupted at index[38]
-    bonoKwVpdVector[38] = 0x4D;
-    KeywordVpdParser parserObj2(std::move(bonoKwVpdVector));
-    EXPECT_THROW(parserObj2.parse(), std::runtime_error);
-}
-
-TEST_F(KeywordVpdParserTest, OutOfBoundLesserSize)
-{
-    // Iterator Out of Bound - size is smaller than the actual size - corrupted
-    // at index[24]
-    keywordVpdVector[24] = 0x03;
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    EXPECT_THROW(parserObj1.parse(), std::runtime_error);
-
-    // For BONO type VPD - corrupted at index[38]
-    bonoKwVpdVector[38] = 0x04;
-    KeywordVpdParser parserObj2(std::move(bonoKwVpdVector));
-    EXPECT_THROW(parserObj2.parse(), std::runtime_error);
-}
-
-TEST_F(KeywordVpdParserTest, BlankVpd)
-{
-    // Blank Kw Vpd
-    keywordVpdVector.clear();
-    KeywordVpdParser parserObj1(std::move(keywordVpdVector));
-    EXPECT_THROW(parserObj1.parse(), std::runtime_error);
-
-    // Blank Bono Type Vpd
-    bonoKwVpdVector.clear();
-    KeywordVpdParser parserObj2(std::move(bonoKwVpdVector));
-    EXPECT_THROW(parserObj2.parse(), std::runtime_error);
-}
-
-int main(int argc, char** argv)
-{
-    ::testing::InitGoogleTest(&argc, argv);
-
-    return RUN_ALL_TESTS();
-}
diff --git a/test/meson.build b/test/meson.build
index b400d6a..0def0f8 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -1,53 +1,70 @@
-if get_option('oe-sdk').allowed()
-  # Setup OE SYSROOT
-  OECORE_TARGET_SYSROOT = run_command('sh', '-c', 'echo $OECORE_TARGET_SYSROOT').stdout().strip()
-  if OECORE_TARGET_SYSROOT == ''
-      error('Unable to get $OECORE_TARGET_SYSROOT, check your environment.')
+gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
+gmock_dep = dependency('gmock', disabler: true, required: false)
+libgpiodcxx = dependency(
+            'libgpiodcxx',
+            default_options: ['bindings=cxx'],
+        )
+if not gtest_dep.found() or not gmock_dep.found()
+    cmake = import('cmake')
+    gtest_opts = cmake.subproject_options()
+    gtest_opts.set_override_option('warning_level', '1')
+    gtest_opts.set_override_option('werror', 'false')
+    gtest_proj = cmake.subproject('googletest',
+                                  options: gtest_opts,
+                                  required: false)
+    if gtest_proj.found()
+        gtest_dep = declare_dependency(
+            dependencies: [
+                dependency('threads'),
+                gtest_proj.dependency('gtest'),
+                gtest_proj.dependency('gtest_main'),
+            ]
+        )
+        gmock_dep = gtest_proj.dependency('gmock')
+  else
+        assert(
+            not get_option('tests').allowed(),
+            'Googletest is required if tests are enabled'
+        )
   endif
-  message('OE_SYSROOT: ' + OECORE_TARGET_SYSROOT)
-  rpath = ':'.join([OECORE_TARGET_SYSROOT + '/lib', OECORE_TARGET_SYSROOT + '/usr/lib'])
-  ld_so = run_command('sh', '-c', 'find ' + OECORE_TARGET_SYSROOT + '/lib/ld-*.so | sort -r -n | head -n1').stdout().strip()
-  dynamic_linker = ['-Wl,-dynamic-linker,' + ld_so]
-else
-  dynamic_linker = []
 endif
-gmock = dependency('gmock', disabler: true, required: build_tests)
-gtest = dependency('gtest', main: true, disabler: true, required: build_tests)
-libgpiodcxx = dependency('libgpiodcxx', default_options: ['bindings=cxx'])
-dependecy_list = [gtest, gmock, sdbusplus, phosphor_logging, phosphor_dbus_interfaces, libgpiodcxx, nlohmann_json_dep]
 
-configuration_inc = include_directories('..', '../vpd-manager', 'vpd-manager-test', '../vpd-parser')
+parser_build_arguments = []
+if get_option('ipz_ecc_check').enabled()
+    parser_build_arguments += ['-DIPZ_ECC_CHECK']
+endif
 
-vpd_test = ['store/store.cpp',
-            'ipz_parser/parser.cpp',
-            'keyword_vpd_parser_test/kw_vpd_test.cpp',
-            'vpd-manager-test/reader_test.cpp',
-            'vpd-manager-test/editor_test.cpp'
+dependency_list = [gtest_dep, gmock_dep, sdbusplus, libgpiodcxx]
+
+configuration_inc = include_directories('..', '../vpd-manager/include', '../vpdecc')
+
+test_sources = [
+  '../vpd-manager/src/logger.cpp',
+  '../vpd-manager/src/ddimm_parser.cpp',
+  '../vpd-manager/src/parser.cpp',
+  '../vpd-manager/src/parser_factory.cpp',
+  '../vpd-manager/src/isdimm_parser.cpp',
+  '../vpd-manager/src/ipz_parser.cpp',
+  '../vpd-manager/src/keyword_vpd_parser.cpp',
+  '../vpd-manager/src/event_logger.cpp',
+  '../vpdecc/vpdecc.c'
 ]
 
-application_src =['../impl.cpp',
-                   '../vpd-parser/ipz_parser.cpp',
-                   '../ibm_vpd_utils.cpp',
-                   '../common_utility.cpp',
-                   '../vpd-manager/reader_impl.cpp',
-                   '../vpd-parser/keyword_vpd_parser.cpp',
-                   '../vpd-manager/editor_impl.cpp',
-                   '../vpd-parser/parser_factory.cpp',
-                   '../vpd-parser/memory_vpd_parser.cpp',
-                   '../vpd-parser/isdimm_vpd_parser.cpp'
-                  ]
+tests = [
+  'utest_utils.cpp',
+  'utest_keyword_parser.cpp',
+  'utest_ddimm_parser.cpp',
+  'utest_ipz_parser.cpp',
+  'utest_json_utility.cpp'
+]
 
-foreach t : vpd_test
-    test(t, executable(t.underscorify(),
-            [t, application_src],
-    build_rpath: get_option('oe-sdk').allowed() ? rpath : '',
-    link_args: dynamic_linker,
-    cpp_args: ['-DIPZ_PARSER', '-DManagerTest'],
-    c_args: ['-Wno-unused-parameter',
-      '-Wno-unused-variable'],
-    dependencies: dependecy_list,
-    include_directories: configuration_inc,
-    link_with : libvpdecc,
-    ),
-    workdir: meson.current_source_dir())
+foreach test_file : tests
+  test(test_file, executable(test_file.underscorify(),
+                     test_file,
+                     test_sources,
+                     include_directories: configuration_inc,
+                     dependencies: dependency_list,
+                     cpp_args: parser_build_arguments
+                     ),
+       workdir: meson.current_source_dir())
 endforeach
diff --git a/test/parser/parser.cpp b/test/parser/parser.cpp
deleted file mode 100644
index d9f441e..0000000
--- a/test/parser/parser.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <defines.hpp>
-#include <store.hpp>
-#include <vpd-parser/ipz_parser.hpp>
-
-#include <cassert>
-#include <fstream>
-#include <iterator>
-
-void runTests()
-{
-    using namespace openpower::vpd;
-    using namespace openpower::vpd::ipz::parser;
-    // Test parse() API
-    {
-        std::ifstream vpdFile("test.vpd", std::ios::binary);
-        Binary vpd((std::istreambuf_iterator<char>(vpdFile)),
-                   std::istreambuf_iterator<char>());
-
-        IpzVpdParser ipzParser(std::move(vpd));
-        auto vpdStore = std::move(std::get<Store>(ipzParser.parse()));
-
-        assert(("P012" == vpdStore.get<Record::VINI, record::Keyword::CC>()));
-        assert(("2019-01-01-08:30:00" ==
-                vpdStore.get<Record::VINI, record::Keyword::MB>()));
-    }
-}
-
-int main()
-{
-    runTests();
-
-    return 0;
-}
diff --git a/test/parser/test.vpd b/test/parser/test.vpd
deleted file mode 100644
index ba17611..0000000
--- a/test/parser/test.vpd
+++ /dev/null
Binary files differ
diff --git a/test/store/store.cpp b/test/store/store.cpp
deleted file mode 100644
index 4c83ba7..0000000
--- a/test/store/store.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-#include "store.hpp"
-
-#include "defines.hpp"
-
-#include <cassert>
-#include <string>
-#include <unordered_map>
-#include <utility>
-
-void runTests()
-{
-    using namespace openpower::vpd;
-
-    // Test Store::get API
-    {
-        Parsed vpd;
-        using inner = Parsed::mapped_type;
-        inner i;
-
-        i.emplace("SN", "1001");
-        i.emplace("PN", "F001");
-        i.emplace("DR", "Fake FRU");
-        vpd.emplace("VINI", i);
-
-        Store s(std::move(vpd));
-
-        assert(("1001" == s.get<Record::VINI, record::Keyword::SN>()));
-        assert(("F001" == s.get<Record::VINI, record::Keyword::PN>()));
-        assert(("Fake FRU" == s.get<Record::VINI, record::Keyword::DR>()));
-    }
-}
-
-int main()
-{
-    runTests();
-
-    return 0;
-}
diff --git a/test/utest_ddimm_parser.cpp b/test/utest_ddimm_parser.cpp
new file mode 100644
index 0000000..6674c51
--- /dev/null
+++ b/test/utest_ddimm_parser.cpp
@@ -0,0 +1,117 @@
+#include "vpdecc.h"
+
+#include "ddimm_parser.hpp"
+#include "exceptions.hpp"
+#include "parser.hpp"
+#include "types.hpp"
+
+#include <cstdint>
+#include <exception>
+#include <fstream>
+
+#include <gtest/gtest.h>
+
+using namespace vpd;
+
+TEST(DdimmVpdParserTest, GoodTestCase)
+{
+    types::DdimmVpdMap l_ddimmMap{
+        std::pair<std::string, size_t>{"MemorySizeInKB", 0x2000000},
+        std::pair<std::string, types::BinaryVector>{
+            "FN", {0x30, 0x33, 0x48, 0x44, 0x37, 0x30, 0x30}},
+        std::pair<std::string, types::BinaryVector>{
+            "PN", {0x30, 0x33, 0x48, 0x44, 0x37, 0x30, 0x30}},
+        std::pair<std::string, types::BinaryVector>{
+            "SN",
+            {0x59, 0x48, 0x33, 0x33, 0x31, 0x54, 0x33, 0x38, 0x34, 0x30, 0x33,
+             0x46}},
+        std::pair<std::string, types::BinaryVector>{"CC",
+                                                    {0x33, 0x32, 0x41, 0x31}}};
+
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ddr5_ddimm.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    ASSERT_EQ(1,
+              l_ddimmMap == std::get<types::DdimmVpdMap>(l_vpdParser.parse()));
+}
+
+TEST(DdimmVpdParserTest, DDR4GoodTestCase)
+{
+    types::DdimmVpdMap l_ddimmMap{
+        std::pair<std::string, size_t>{"MemorySizeInKB", 0x4000000},
+        std::pair<std::string, types::BinaryVector>{
+            "FN", {0x37, 0x38, 0x50, 0x36, 0x35, 0x37, 0x35}},
+        std::pair<std::string, types::BinaryVector>{
+            "PN", {0x37, 0x38, 0x50, 0x36, 0x35, 0x37, 0x35}},
+        std::pair<std::string, types::BinaryVector>{
+            "SN",
+            {0x59, 0x48, 0x33, 0x35, 0x31, 0x54, 0x31, 0x35, 0x53, 0x30, 0x44,
+             0x35}},
+        std::pair<std::string, types::BinaryVector>{"CC",
+                                                    {0x33, 0x32, 0x37, 0x42}}};
+
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ddr4_ddimm.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    ASSERT_EQ(1,
+              l_ddimmMap == std::get<types::DdimmVpdMap>(l_vpdParser.parse()));
+}
+
+TEST(DdimmVpdParserTest, InvalidDdrType)
+{
+    // Invalid DDR type, corrupted at index[2]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ddr5_ddimm_corrupted_index_2.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+
+TEST(DdimmVpdParserTest, ZeroDdimmSize)
+{
+    // Badly formed DDIMM VPD data - corrupted at index[235],
+    // ddimm size calculated a zero
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ddr5_ddimm_corrupted_index_235.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+
+TEST(DdimmVpdParserTest, InvalidDensityPerDie)
+{
+    // Out of range data, fails to check valid value - corrupted at index[4]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ddr5_ddimm_corrupted_index_4.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+
+TEST(DdimmVpdParserTest, InvalidVpdType)
+{
+    // Invalid VPD type - corrupted at index[2] & index[3]
+    // Not able to find the VPD type, vpdTypeCheck failed
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ddr5_ddimm_corrupted_index_2_3.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+
+TEST(DdimmVpdParserTest, EmptyInputVector)
+{
+    // Blank VPD
+    types::BinaryVector emptyVector{};
+
+    EXPECT_THROW(DdimmVpdParser(std::move(emptyVector)), DataException);
+}
+
+int main(int i_argc, char** io_argv)
+{
+    ::testing::InitGoogleTest(&i_argc, io_argv);
+
+    return RUN_ALL_TESTS();
+}
diff --git a/test/utest_ipz_parser.cpp b/test/utest_ipz_parser.cpp
new file mode 100644
index 0000000..2f23060
--- /dev/null
+++ b/test/utest_ipz_parser.cpp
@@ -0,0 +1,135 @@
+#include "ipz_parser.hpp"
+#include "parser.hpp"
+
+#include <exception>
+
+#include <gtest/gtest.h>
+
+TEST(IpzVpdParserTest, GoodTestCase)
+{
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ipz_system.dat");
+    vpd::Parser l_vpdParser(l_vpdFile, l_json);
+
+    vpd::types::IPZVpdMap l_ipzVpdMap;
+    auto l_parsedMap = l_vpdParser.parse();
+    if (auto l_ipzVpdMapPtr = std::get_if<vpd::types::IPZVpdMap>(&l_parsedMap))
+        l_ipzVpdMap = *l_ipzVpdMapPtr;
+
+    std::string l_record("VINI");
+    std::string l_keyword("DR");
+    std::string l_description;
+
+    // check 'DR' keyword value from 'VINI' record
+    auto l_vpdItr = l_ipzVpdMap.find(l_record);
+    if (l_ipzVpdMap.end() != l_vpdItr)
+    {
+        auto l_kwValItr = (l_vpdItr->second).find(l_keyword);
+        if ((l_vpdItr->second).end() != l_kwValItr)
+        {
+            l_description = l_kwValItr->second;
+        }
+    }
+    EXPECT_EQ(l_description, "SYSTEM BACKPLANE");
+
+    // check 'SN' keyword value from 'VINI' record
+    l_record = "VINI";
+    l_keyword = "SN";
+    l_vpdItr = l_ipzVpdMap.find(l_record);
+    if (l_ipzVpdMap.end() != l_vpdItr)
+    {
+        auto l_kwValItr = (l_vpdItr->second).find(l_keyword);
+        if ((l_vpdItr->second).end() != l_kwValItr)
+        {
+            l_description = l_kwValItr->second;
+        }
+    }
+    EXPECT_EQ(l_description, "Y131UF07300L");
+
+    // check 'DR' keyword value of 'VSYS' record
+    l_record = "VSYS";
+    l_keyword = "DR";
+    l_vpdItr = l_ipzVpdMap.find(l_record);
+    if (l_ipzVpdMap.end() != l_vpdItr)
+    {
+        auto l_kwValItr = (l_vpdItr->second).find(l_keyword);
+        if ((l_vpdItr->second).end() != l_kwValItr)
+        {
+            l_description = l_kwValItr->second;
+        }
+    }
+    ASSERT_EQ(l_description, "SYSTEM");
+}
+
+TEST(IpzVpdParserTest, VpdFileDoesNotExist)
+{
+    // Vpd file does not exist
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/xyz.dat");
+
+    EXPECT_THROW(vpd::Parser(l_vpdFile, l_json), std::runtime_error);
+}
+
+TEST(IpzVpdParserTest, MissingHeader)
+{
+    // Missing VHDR tag, failed header check - corrupted at index[17]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ipz_system_corrupted_index_17.dat");
+    vpd::Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+
+TEST(IpzVpdParserTest, MissingVtoc)
+{
+    // Missing VTOC tag - corrupted at index[61]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ipz_system_corrupted_index_61.dat");
+    vpd::Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+
+TEST(IpzVpdParserTest, MalformedVpdFile)
+{
+    // Vpd vector size is less than RECORD_MIN(44), fails for checkHeader
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ipz_system_min_record.dat");
+    vpd::Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+
+#ifdef IPZ_ECC_CHECK
+TEST(IpzVpdParserTest, InvalidRecordOffset)
+{
+    // VTOC ECC check fail
+    // Invalid VINI Record offset, corrupted at index[74]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ipz_system_corrupted_index_74.dat");
+    vpd::Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+
+TEST(IpzVpdParserTest, InvalidRecordEccOffset)
+{
+    // VTOC ECC check fail
+    // Invalid VINI Record ECC offset, corrupted at index[78] & index[79]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ipz_system_corrupted_index_78_79.dat");
+    vpd::Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+
+TEST(IpzVpdParserTest, TruncatedVpdFile)
+{
+    // Truncated vpd file, VTOC ECC check fail
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/ipz_system_truncated.dat");
+    vpd::Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), std::exception);
+}
+#endif
diff --git a/test/utest_json_utility.cpp b/test/utest_json_utility.cpp
new file mode 100644
index 0000000..4f0b5c5
--- /dev/null
+++ b/test/utest_json_utility.cpp
@@ -0,0 +1,29 @@
+#include "parser.hpp"
+#include "types.hpp"
+#include "utility/json_utility.hpp"
+
+#include <iostream>
+
+#include <gtest/gtest.h>
+
+using namespace vpd;
+
+TEST(IsFruPowerOffOnlyTest, PositiveTestCase)
+{
+    const std::string l_jsonPath{"/usr/local/share/vpd/50001001.json"};
+    const std::string l_vpdPath{"/sys/bus/spi/drivers/at25/spi12.0/eeprom"};
+    const nlohmann::json l_parsedJson = jsonUtility::getParsedJson(l_jsonPath);
+    const bool l_result =
+        jsonUtility::isFruPowerOffOnly(l_parsedJson, l_vpdPath);
+    EXPECT_TRUE(l_result);
+}
+
+TEST(IsFruPowerOffOnlyTest, NegativeTestCase)
+{
+    const std::string l_jsonPath{"/usr/local/share/vpd/50001001.json"};
+    const std::string l_vpdPath{"/sys/bus/i2c/drivers/at24/4-0050/eeprom"};
+    const nlohmann::json l_parsedJson = jsonUtility::getParsedJson(l_jsonPath);
+    const bool l_result =
+        jsonUtility::isFruPowerOffOnly(l_parsedJson, l_vpdPath);
+    EXPECT_FALSE(l_result);
+}
diff --git a/test/utest_keyword_parser.cpp b/test/utest_keyword_parser.cpp
new file mode 100644
index 0000000..1f72829
--- /dev/null
+++ b/test/utest_keyword_parser.cpp
@@ -0,0 +1,145 @@
+#include "exceptions.hpp"
+#include "keyword_vpd_parser.hpp"
+#include "parser.hpp"
+#include "types.hpp"
+
+#include <cstdint>
+#include <exception>
+#include <fstream>
+
+#include <gtest/gtest.h>
+
+using namespace vpd;
+
+TEST(KeywordVpdParserTest, GoodTestCase)
+{
+    types::KeywordVpdMap l_keywordMap{
+        std::pair<std::string, types::BinaryVector>{"WI", {0x00}},
+        std::pair<std::string, types::BinaryVector>{
+            "FL", {0x50, 0x32, 0x20, 0x20, 0x20}},
+        std::pair<std::string, types::BinaryVector>{
+            "SM",
+            {0x82, 0x50, 0x32, 0x2d, 0x44, 0x34, 0x20, 0x20, 0x20, 0x20, 0x20,
+             0x20, 0x32, 0x53, 0x53, 0x43, 0x81, 0x50, 0x32, 0x2d, 0x44, 0x35,
+             0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x53, 0x53, 0x43, 0x80,
+             0x50, 0x32, 0x2d, 0x44, 0x37, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+             0x32, 0x53, 0x53, 0x43, 0x83, 0x50, 0x32, 0x2d, 0x44, 0x38, 0x20,
+             0x20, 0x20, 0x20, 0x20, 0x20, 0x32, 0x53, 0x53, 0x43}},
+        std::pair<std::string, types::BinaryVector>{
+            "B2",
+            {0x50, 0x05, 0x07, 0x60, 0x73, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00,
+             0x00, 0x00, 0x00, 0x01, 0x00}},
+        std::pair<std::string, types::BinaryVector>{"MF", {0x00, 0x10}},
+        std::pair<std::string, types::BinaryVector>{"VZ", {0x30, 0x33}},
+        std::pair<std::string, types::BinaryVector>{
+            "PN", {0x30, 0x31, 0x4b, 0x55, 0x37, 0x32, 0x34}},
+        std::pair<std::string, types::BinaryVector>{
+            "FN", {0x20, 0x30, 0x31, 0x4b, 0x55, 0x37, 0x32, 0x34}},
+        std::pair<std::string, types::BinaryVector>{"CE", {0x31}},
+        std::pair<std::string, types::BinaryVector>{
+            "SN",
+            {0x59, 0x48, 0x33, 0x30, 0x42, 0x47, 0x37, 0x38, 0x42, 0x30, 0x31,
+             0x34}},
+        std::pair<std::string, types::BinaryVector>{"CC",
+                                                    {0x32, 0x44, 0x33, 0x37}}};
+
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/keyword.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    ASSERT_EQ(1, std::get<types::KeywordVpdMap>(l_vpdParser.parse()) ==
+                     l_keywordMap);
+}
+
+TEST(KeywordVpdParserTest, InvalidVpd)
+{
+    // Invalid large resource type identifier string - corrupted at index[0]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/keyword_corrupted_index_0.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), DataException);
+}
+
+TEST(KeywordVpdParserTest, InvalidStartTag)
+{
+    // Invalid large resource type vendor defined - corrupted at index[19]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/keyword_corrupted_index_19.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), DataException);
+}
+
+TEST(KeywordVpdParserTest, InvalidSize)
+{
+    // Badly formed keyword VPD data - corrupted at index[20]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/keyword_corrupted_index_20.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), DataException);
+}
+
+TEST(KeywordVpdParserTest, InvalidEndTag)
+{
+    // Invalid small resource type end - corrupted at index[177]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/keyword_corrupted_index_177.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), DataException);
+}
+
+TEST(KeywordVpdParserTest, InvalidChecksum)
+{
+    // Invalid check sum - corrupted at index[178]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/keyword_corrupted_index_178.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), DataException);
+}
+
+TEST(KeywordVpdParserTest, InvalidLastEndTag)
+{
+    // Invalid small resource type last end of data - corrupted at index[179]
+    nlohmann::json l_json;
+    std::string l_vpdFile("vpd_files/keyword_corrupted_index_179.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), DataException);
+}
+
+TEST(KeywordVpdParserTest, OutOfBoundGreaterSize)
+{
+    // Iterator out of bound - size is larger than the actual size - corrupted
+    // at index[24]
+    nlohmann::json l_json;
+    std::string l_vpdFile(
+        "vpd_files/keyword_corrupted_index_24_large_size.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), DataException);
+}
+
+TEST(KeywordVpdParserTest, OutOfBoundLesserSize)
+{
+    // Iterator out of bound - size is smaller than the actual size - corrupted
+    // at index[24]
+    nlohmann::json l_json;
+    std::string l_vpdFile(
+        "vpd_files/keyword_corrupted_index_24_small_size.dat");
+    Parser l_vpdParser(l_vpdFile, l_json);
+
+    EXPECT_THROW(l_vpdParser.parse(), DataException);
+}
+
+TEST(KeywordVpdParserTest, EmptyInput)
+{
+    // Blank keyword VPD
+    types::BinaryVector emptyVector{};
+    KeywordVpdParser l_keywordParser(std::move(emptyVector));
+
+    EXPECT_THROW(l_keywordParser.parse(), std::exception);
+}
diff --git a/test/utest_utils.cpp b/test/utest_utils.cpp
new file mode 100644
index 0000000..6511dcb
--- /dev/null
+++ b/test/utest_utils.cpp
@@ -0,0 +1,23 @@
+#include <utility/vpd_specific_utility.hpp>
+
+#include <cassert>
+#include <string>
+
+#include <gtest/gtest.h>
+
+using namespace vpd;
+
+TEST(UtilsTest, TestValidValue)
+{
+    std::string key = "VINI";
+    std::string encoding = "MAC";
+    std::string expected = "56:49:4e:49";
+    EXPECT_EQ(expected, vpdSpecificUtility::encodeKeyword(key, encoding));
+}
+
+int main(int argc, char** argv)
+{
+    ::testing::InitGoogleTest(&argc, argv);
+
+    return RUN_ALL_TESTS();
+}
diff --git a/test/vpd-manager-test/editor_test.cpp b/test/vpd-manager-test/editor_test.cpp
deleted file mode 100644
index 53f32ad..0000000
--- a/test/vpd-manager-test/editor_test.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-#include "editor_impl.hpp"
-#include "ipz_parser.hpp"
-
-#include <nlohmann/json.hpp>
-
-#include <algorithm>
-#include <vector>
-
-#include <gtest/gtest.h>
-
-using namespace openpower::vpd;
-using namespace openpower::vpd::manager::editor;
-using namespace openpower::vpd::inventory;
-using namespace openpower::vpd::constants;
-
-class vpdManagerEditorTest : public ::testing::Test
-{
-  protected:
-    Binary vpd;
-
-    nlohmann::json jsonFile;
-
-    // map to hold the mapping of location code and inventory path
-    inventory::LocationCodeMap fruLocationCode;
-
-  public:
-    // constructor
-    vpdManagerEditorTest()
-    {
-        processJson();
-    }
-
-    void processJson();
-    void readFile(std::string pathToFile);
-};
-
-void vpdManagerEditorTest::readFile(std::string pathToFile)
-{
-    // read the json file and parse it
-    std::ifstream vpdFile(pathToFile, std::ios::binary);
-
-    if (!vpdFile)
-    {
-        throw std::runtime_error("json file not found");
-    }
-
-    vpd.assign((std::istreambuf_iterator<char>(vpdFile)),
-               std::istreambuf_iterator<char>());
-}
-
-void vpdManagerEditorTest::processJson()
-{
-    // read the json file and parse it
-    std::ifstream json("vpd-manager-test/vpd_editor_test.json",
-                       std::ios::binary);
-
-    if (!json)
-    {
-        throw std::runtime_error("json file not found");
-    }
-
-    jsonFile = nlohmann::json::parse(json);
-
-    const nlohmann::json& groupFRUS =
-        jsonFile["frus"].get_ref<const nlohmann::json::object_t&>();
-    for (const auto& itemFRUS : groupFRUS.items())
-    {
-        const std::vector<nlohmann::json>& groupEEPROM =
-            itemFRUS.value().get_ref<const nlohmann::json::array_t&>();
-        for (const auto& itemEEPROM : groupEEPROM)
-        {
-            fruLocationCode.emplace(
-                itemEEPROM["extraInterfaces"][IBM_LOCATION_CODE_INF]
-                          ["LocationCode"]
-                              .get_ref<const nlohmann::json::string_t&>(),
-                itemEEPROM["inventoryPath"]
-                    .get_ref<const nlohmann::json::string_t&>());
-        }
-    }
-}
-
-TEST_F(vpdManagerEditorTest, InvalidFile)
-{
-    Binary dataToUodate{'M', 'O', 'D', 'I', 'F', 'Y',
-                        'D', 'A', 'T', 'A', 'O', 'K'};
-
-    Binary emptyVpdFile;
-    try
-    {
-        // Invalid kwd name
-        EditorImpl edit("VINI", "SN", std::move(emptyVpdFile));
-        edit.updateKeyword(dataToUodate, 0, true);
-    }
-    catch (const std::exception& e)
-    {
-        EXPECT_EQ(std::string(e.what()), std::string("Invalid File"));
-    }
-}
-
-TEST_F(vpdManagerEditorTest, InvalidHeader)
-{
-    Binary dataToUodate{'M', 'O', 'D', 'I', 'F', 'Y',
-                        'D', 'A', 'T', 'A', 'O', 'K'};
-
-    readFile("vpd-manager-test/invalidHeaderFile.dat");
-    try
-    {
-        // the path is dummy
-        EditorImpl edit("VINI", "SN", std::move(vpd));
-        edit.updateKeyword(dataToUodate, 0, true);
-    }
-    catch (const std::exception& e)
-    {
-        EXPECT_EQ(std::string(e.what()), std::string("VHDR record not found"));
-    }
-}
-
-TEST_F(vpdManagerEditorTest, InvalidRecordName)
-{
-    Binary dataToUodate{'M', 'O', 'D', 'I', 'F', 'Y',
-                        'D', 'A', 'T', 'A', 'O', 'K'};
-
-    readFile("vpd-manager-test/vpdFile.dat");
-
-    try
-    {
-        // Invalid record name "VIN", path is dummy
-        EditorImpl edit("VIN", "SN", std::move(vpd));
-        edit.updateKeyword(dataToUodate, 0, true);
-    }
-    catch (const std::exception& e)
-    {
-        EXPECT_EQ(std::string(e.what()), std::string("Record not found"));
-    }
-}
-
-TEST_F(vpdManagerEditorTest, InvalidKWdName)
-{
-    Binary dataToUodate{'M', 'O', 'D', 'I', 'F', 'Y',
-                        'D', 'A', 'T', 'A', 'O', 'K'};
-
-    readFile("vpd-manager-test/vpdFile.dat");
-
-    try
-    {
-        // All valid data
-        EditorImpl edit("VINI", "Sn", std::move(vpd));
-        edit.updateKeyword(dataToUodate, 0, true);
-    }
-    catch (const std::runtime_error& e)
-    {
-        EXPECT_EQ(std::string(e.what()), std::string("Keyword not found"));
-    }
-}
-
-TEST_F(vpdManagerEditorTest, UpdateKwd_Success)
-{
-    Binary dataToUodate{'M', 'O', 'D', 'I', 'F', 'Y',
-                        'D', 'A', 'T', 'A', 'O', 'K'};
-
-    readFile("vpd-manager-test/vpdFile.dat");
-
-    try
-    {
-        // All valid data, but can't update with dummy ECC code
-        EditorImpl edit("VINI", "SN", std::move(vpd));
-        edit.updateKeyword(dataToUodate, 0, true);
-    }
-    catch (const std::runtime_error& e)
-    {
-        EXPECT_EQ(std::string(e.what()), std::string("Ecc update failed"));
-    }
-}
-
-int main(int argc, char** argv)
-{
-    ::testing::InitGoogleTest(&argc, argv);
-
-    return RUN_ALL_TESTS();
-}
diff --git a/test/vpd-manager-test/invalidHeaderFile.dat b/test/vpd-manager-test/invalidHeaderFile.dat
deleted file mode 100644
index 7f8de18..0000000
--- a/test/vpd-manager-test/invalidHeaderFile.dat
+++ /dev/null
Binary files differ
diff --git a/test/vpd-manager-test/reader_test.cpp b/test/vpd-manager-test/reader_test.cpp
deleted file mode 100644
index dd576e6..0000000
--- a/test/vpd-manager-test/reader_test.cpp
+++ /dev/null
@@ -1,256 +0,0 @@
-#include "reader_test.hpp"
-
-#include "const.hpp"
-#include "reader_impl.hpp"
-#include "types.hpp"
-
-#include <nlohmann/json.hpp>
-
-#include <fstream>
-#include <tuple>
-
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-
-using namespace openpower::vpd::manager::reader;
-using namespace openpower::vpd::inventory;
-using namespace openpower::vpd::constants;
-
-class vpdManagerReaderTest : public ::testing::Test
-{
-  protected:
-    nlohmann::json jsonFile;
-
-    // map to hold the mapping of location code and inventory path
-    LocationCodeMap fruLocationCode;
-
-    // dummy value of node number
-    const uint8_t nodeNumber = 1;
-
-  public:
-    // constructor
-    vpdManagerReaderTest()
-    {
-        processJson();
-    }
-
-    void processJson();
-};
-
-using namespace openpower::vpd;
-
-void vpdManagerReaderTest::processJson()
-{
-    // read the json file and parse it
-    std::ifstream json("vpd-manager-test/vpd_reader_test.json",
-                       std::ios::binary);
-
-    if (!json)
-    {
-        throw std::runtime_error("json file not found");
-    }
-
-    jsonFile = nlohmann::json::parse(json);
-
-    if (jsonFile.find("frus") == jsonFile.end())
-    {
-        throw std::runtime_error("frus group not found in json");
-    }
-
-    const nlohmann::json& groupFRUS =
-        jsonFile["frus"].get_ref<const nlohmann::json::object_t&>();
-    for (const auto& itemFRUS : groupFRUS.items())
-    {
-        const std::vector<nlohmann::json>& groupEEPROM =
-            itemFRUS.value().get_ref<const nlohmann::json::array_t&>();
-        for (const auto& itemEEPROM : groupEEPROM)
-        {
-            fruLocationCode.emplace(
-                itemEEPROM["extraInterfaces"][IBM_LOCATION_CODE_INF]
-                          ["LocationCode"]
-                              .get_ref<const nlohmann::json::string_t&>(),
-                itemEEPROM["inventoryPath"]
-                    .get_ref<const nlohmann::json::string_t&>());
-        }
-    }
-}
-
-TEST_F(vpdManagerReaderTest, isValidLocationCode_invalid)
-{
-    // No MTS or FCS in the collapsed location code
-    std::string unexpandedLocationCode_Invalid = "Uabc-X0";
-
-    MockUtilCalls uCalls;
-    ReaderImpl read(uCalls);
-    EXPECT_ANY_THROW({
-        read.getExpandedLocationCode(unexpandedLocationCode_Invalid, nodeNumber,
-                                     fruLocationCode);
-    });
-
-    // not starting with U
-    unexpandedLocationCode_Invalid = "Mabc-X0";
-    EXPECT_ANY_THROW({
-        read.getExpandedLocationCode(unexpandedLocationCode_Invalid, nodeNumber,
-                                     fruLocationCode);
-    });
-}
-
-TEST_F(vpdManagerReaderTest, getExpandedLocationCode_Invalid)
-{
-    std::string unexpandedLocationCode_Invalid = "Uabc-X0";
-
-    MockUtilCalls uCalls;
-    ReaderImpl read(uCalls);
-    EXPECT_ANY_THROW({
-        read.getExpandedLocationCode(unexpandedLocationCode_Invalid, nodeNumber,
-                                     fruLocationCode);
-    });
-}
-
-TEST_F(vpdManagerReaderTest, getExpandedLocationCode_Valid)
-{
-    // mock the call to read bus property
-    MockUtilCalls uCalls;
-    EXPECT_CALL(uCalls, readBusProperty(SYSTEM_OBJECT, IBM_LOCATION_CODE_INF,
-                                        "LocationCode"))
-        .Times(1)
-        .WillOnce(testing::Return("U78DA.ND1.1234567-P0"));
-
-    std::string unexpandedLocationCode = "Ufcs-P0";
-    ReaderImpl read(uCalls);
-    std::string res = read.getExpandedLocationCode(unexpandedLocationCode,
-                                                   nodeNumber, fruLocationCode);
-
-    EXPECT_EQ(res, "U78DA.ND1.1234567-P0");
-}
-
-TEST_F(vpdManagerReaderTest, getFrusAtLocation_Invalid)
-{
-    // invalid location code
-    std::string unexpandedLocationCode = "Uabc-X0";
-
-    MockUtilCalls uCalls;
-    ReaderImpl read(uCalls);
-    EXPECT_ANY_THROW({
-        read.getFrusAtLocation(unexpandedLocationCode, nodeNumber,
-                               fruLocationCode);
-    });
-
-    // map to hold the mapping of location code and inventory path, empty in
-    // this case
-    LocationCodeMap mapLocationCode;
-    unexpandedLocationCode = "Ufcs-P0";
-    EXPECT_ANY_THROW({
-        read.getFrusAtLocation(unexpandedLocationCode, nodeNumber,
-                               mapLocationCode);
-    });
-}
-
-TEST_F(vpdManagerReaderTest, getFrusAtLocation_Valid)
-{
-    std::string LocationCode = "Ufcs-P0";
-
-    MockUtilCalls uCalls;
-    ReaderImpl read(uCalls);
-    ListOfPaths paths =
-        read.getFrusAtLocation(LocationCode, nodeNumber, fruLocationCode);
-    std::string expected =
-        "/xyz/openbmc_project/inventory/system/chassis/motherboard";
-    EXPECT_EQ(paths.at(0), expected);
-}
-
-TEST_F(vpdManagerReaderTest, getFRUsByExpandedLocationCode_invalid)
-{
-    // not starting from U
-    std::string locationCode = "9105.22A.SIMP10R";
-
-    MockUtilCalls uCalls;
-    ReaderImpl read(uCalls);
-    ListOfPaths paths;
-    EXPECT_ANY_THROW({
-        paths =
-            read.getFRUsByExpandedLocationCode(locationCode, fruLocationCode);
-    });
-
-    // unused variable warning
-    (void)paths;
-
-    // length is les sthan 17 for expanded location code
-    locationCode = "U9105.22A.SIMP10";
-    EXPECT_ANY_THROW({
-        paths =
-            read.getFRUsByExpandedLocationCode(locationCode, fruLocationCode);
-    });
-
-    // Invalid location code. No "."
-    locationCode = "U78DAND11234567-P0";
-
-    // Mock readBUsproperty call
-    EXPECT_CALL(uCalls,
-                readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VCEN", "FC"))
-        .Times(1)
-        .WillOnce(
-            testing::Return("78DAPQRS")); // return a dummy value for FC keyword
-
-    // unused variable warning
-    (void)paths;
-    EXPECT_ANY_THROW({
-        paths =
-            read.getFRUsByExpandedLocationCode(locationCode, fruLocationCode);
-    });
-}
-
-TEST_F(vpdManagerReaderTest, getFRUsByExpandedLocationCode_Valid_FC)
-{
-    // valid location code with FC kwd.
-    std::string validLocationCode = "U78DA.ND1.1234567-P0";
-
-    // Mock readBUsproperty call
-    MockUtilCalls uCalls;
-    EXPECT_CALL(uCalls,
-                readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VCEN", "FC"))
-        .WillRepeatedly(
-            testing::Return("78DAPQRS")); // return a dummy value for FC keyword
-
-    ReaderImpl read(uCalls);
-    ListOfPaths paths =
-        read.getFRUsByExpandedLocationCode(validLocationCode, fruLocationCode);
-
-    std::string expected =
-        "/xyz/openbmc_project/inventory/system/chassis/motherboard";
-    EXPECT_EQ(paths.at(0), expected);
-}
-
-TEST_F(vpdManagerReaderTest, getFRUsByExpandedLocationCode_Valid_TM)
-{
-    // valid location code with TM kwd.
-    std::string validLocationCode = "U9105.22A.SIMP10R";
-
-    // Mock readBUsproperty call
-    MockUtilCalls uCalls;
-    EXPECT_CALL(uCalls,
-                readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VCEN", "FC"))
-        .Times(1)
-        .WillOnce(
-            testing::Return("78DAPQRS")); // return a dummy value for FC keyword
-
-    EXPECT_CALL(uCalls,
-                readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VSYS", "TM"))
-        .Times(1)
-        .WillOnce(
-            testing::Return("9105PQRS")); // return a dummy value for TM keyword
-
-    ReaderImpl read(uCalls);
-    ListOfPaths paths =
-        read.getFRUsByExpandedLocationCode(validLocationCode, fruLocationCode);
-
-    std::string expected = "/xyz/openbmc_project/inventory/system";
-    EXPECT_EQ(paths.at(0), expected);
-}
-
-int main(int argc, char** argv)
-{
-    ::testing::InitGoogleTest(&argc, argv);
-
-    return RUN_ALL_TESTS();
-}
diff --git a/test/vpd-manager-test/reader_test.hpp b/test/vpd-manager-test/reader_test.hpp
deleted file mode 100644
index b108df2..0000000
--- a/test/vpd-manager-test/reader_test.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#pragma once
-
-#include "utilInterface.hpp"
-
-#include <gmock/gmock.h>
-
-using namespace openpower::vpd::utils::interface;
-
-class MockUtilCalls : public UtilityInterface
-{
-  public:
-    MOCK_METHOD(std::string, readBusProperty,
-                (const std::string& obj, const std::string& inf,
-                 const std::string& prop),
-                (override));
-};
diff --git a/test/vpd-manager-test/vpdFile.dat b/test/vpd-manager-test/vpdFile.dat
deleted file mode 100644
index 147f63b..0000000
--- a/test/vpd-manager-test/vpdFile.dat
+++ /dev/null
Binary files differ
diff --git a/test/vpd-manager-test/vpd_editor_test.json b/test/vpd-manager-test/vpd_editor_test.json
deleted file mode 100644
index 516dcad..0000000
--- a/test/vpd-manager-test/vpd_editor_test.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
-    "commonInterfaces": {
-        "xyz.openbmc_project.Inventory.Decorator.Asset": {
-            "PartNumber": {
-                "recordName": "VINI",
-                "keywordName": "PN"
-            },
-            "SerialNumber": {
-                "recordName": "VINI",
-                "keywordName": "SN"
-            },
-            "BuildDate": {
-                "recordName": "VR10",
-                "keywordName": "DC",
-                "encoding": "DATE"
-            }
-        },
-        "xyz.openbmc_project.Inventory.Item": {
-            "PrettyName": {
-                "recordName": "VINI",
-                "keywordName": "DR"
-            },
-            "Present": true
-        }
-    },
-    "frus": {
-        "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system",
-                "inherit": false,
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.System": null,
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "SerialNumber": {
-                            "recordName": "VSYS",
-                            "keywordName": "SE"
-                        },
-                        "Model": {
-                            "recordName": "VSYS",
-                            "keywordName": "TM"
-                        }
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Umts"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis",
-                "inherit": false,
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Chassis": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a480.i2c-bus/i2c-8/8-0051/8-00510/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Bmc": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z0",
-                            "encoding": "MAC"
-                        }
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z1",
-                            "encoding": "MAC"
-                        }
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a080.i2c-bus/i2c-0/0-0051/0-00510/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/tpm_wilson",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Tpm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C22"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0050/7-00500/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/base_op_panel_blyth",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D0"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0051/7-00510/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/lcd_op_panel_hill",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D1"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a500.i2c-bus/i2c-9/9-0050/9-00500/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C14"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a580.i2c-bus/i2c-10/10-0050/10-00500/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C23"
-                    }
-                }
-            }
-        ]
-    }
-}
diff --git a/test/vpd-manager-test/vpd_reader_test.json b/test/vpd-manager-test/vpd_reader_test.json
deleted file mode 100644
index 516dcad..0000000
--- a/test/vpd-manager-test/vpd_reader_test.json
+++ /dev/null
@@ -1,172 +0,0 @@
-{
-    "commonInterfaces": {
-        "xyz.openbmc_project.Inventory.Decorator.Asset": {
-            "PartNumber": {
-                "recordName": "VINI",
-                "keywordName": "PN"
-            },
-            "SerialNumber": {
-                "recordName": "VINI",
-                "keywordName": "SN"
-            },
-            "BuildDate": {
-                "recordName": "VR10",
-                "keywordName": "DC",
-                "encoding": "DATE"
-            }
-        },
-        "xyz.openbmc_project.Inventory.Item": {
-            "PrettyName": {
-                "recordName": "VINI",
-                "keywordName": "DR"
-            },
-            "Present": true
-        }
-    },
-    "frus": {
-        "/sys/bus/i2c/drivers/at24/8-0050/eeprom": [
-            {
-                "inventoryPath": "/system/chassis/motherboard",
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Board.Motherboard": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system",
-                "inherit": false,
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.System": null,
-                    "xyz.openbmc_project.Inventory.Decorator.Asset": {
-                        "SerialNumber": {
-                            "recordName": "VSYS",
-                            "keywordName": "SE"
-                        },
-                        "Model": {
-                            "recordName": "VSYS",
-                            "keywordName": "TM"
-                        }
-                    },
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Umts"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis",
-                "inherit": false,
-                "isSystemVpd": true,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Chassis": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a480.i2c-bus/i2c-8/8-0051/8-00510/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Bmc": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5"
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet0",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T0"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z0",
-                            "encoding": "MAC"
-                        }
-                    }
-                }
-            },
-            {
-                "inventoryPath": "/system/chassis/motherboard/ebmc_card_bmc/ethernet1",
-                "inherit": false,
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Ethernet": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C5-T1"
-                    },
-                    "xyz.openbmc_project.Inventory.Item.NetworkInterface": {
-                        "MACAddress": {
-                            "recordName": "VCFG",
-                            "keywordName": "Z1",
-                            "encoding": "MAC"
-                        }
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a080.i2c-bus/i2c-0/0-0051/0-00510/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/tpm_wilson",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Tpm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C22"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0050/7-00500/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/base_op_panel_blyth",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D0"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-7/7-0051/7-00510/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/lcd_op_panel_hill",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Panel": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-D1"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a500.i2c-bus/i2c-9/9-0050/9-00500/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm0",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C14"
-                    }
-                }
-            }
-        ],
-        "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a580.i2c-bus/i2c-10/10-0050/10-00500/nvmem": [
-            {
-                "inventoryPath": "/system/chassis/motherboard/vdd_vrm1",
-                "extraInterfaces": {
-                    "xyz.openbmc_project.Inventory.Item.Vrm": null,
-                    "com.ibm.ipzvpd.Location": {
-                        "LocationCode": "Ufcs-P0-C23"
-                    }
-                }
-            }
-        ]
-    }
-}
diff --git a/test/vpd_files/ddr4_ddimm.dat b/test/vpd_files/ddr4_ddimm.dat
new file mode 100755
index 0000000..3226bb3
--- /dev/null
+++ b/test/vpd_files/ddr4_ddimm.dat
Binary files differ
diff --git a/test/vpd_files/ddr5_ddimm.dat b/test/vpd_files/ddr5_ddimm.dat
new file mode 100644
index 0000000..b7f4107
--- /dev/null
+++ b/test/vpd_files/ddr5_ddimm.dat
Binary files differ
diff --git a/test/vpd_files/ddr5_ddimm_corrupted_index_2.dat b/test/vpd_files/ddr5_ddimm_corrupted_index_2.dat
new file mode 100644
index 0000000..3ddf5fc
--- /dev/null
+++ b/test/vpd_files/ddr5_ddimm_corrupted_index_2.dat
Binary files differ
diff --git a/test/vpd_files/ddr5_ddimm_corrupted_index_235.dat b/test/vpd_files/ddr5_ddimm_corrupted_index_235.dat
new file mode 100644
index 0000000..dcbb477
--- /dev/null
+++ b/test/vpd_files/ddr5_ddimm_corrupted_index_235.dat
Binary files differ
diff --git a/test/vpd_files/ddr5_ddimm_corrupted_index_2_3.dat b/test/vpd_files/ddr5_ddimm_corrupted_index_2_3.dat
new file mode 100644
index 0000000..9adf253
--- /dev/null
+++ b/test/vpd_files/ddr5_ddimm_corrupted_index_2_3.dat
Binary files differ
diff --git a/test/vpd_files/ddr5_ddimm_corrupted_index_4.dat b/test/vpd_files/ddr5_ddimm_corrupted_index_4.dat
new file mode 100644
index 0000000..cdac642
--- /dev/null
+++ b/test/vpd_files/ddr5_ddimm_corrupted_index_4.dat
Binary files differ
diff --git a/test/vpd_files/ipz_system.dat b/test/vpd_files/ipz_system.dat
new file mode 100644
index 0000000..6c11e60
--- /dev/null
+++ b/test/vpd_files/ipz_system.dat
Binary files differ
diff --git a/test/vpd_files/ipz_system_corrupted_index_17.dat b/test/vpd_files/ipz_system_corrupted_index_17.dat
new file mode 100644
index 0000000..db829a9
--- /dev/null
+++ b/test/vpd_files/ipz_system_corrupted_index_17.dat
Binary files differ
diff --git a/test/vpd_files/ipz_system_corrupted_index_61.dat b/test/vpd_files/ipz_system_corrupted_index_61.dat
new file mode 100644
index 0000000..638b8c8
--- /dev/null
+++ b/test/vpd_files/ipz_system_corrupted_index_61.dat
Binary files differ
diff --git a/test/vpd_files/ipz_system_corrupted_index_74.dat b/test/vpd_files/ipz_system_corrupted_index_74.dat
new file mode 100644
index 0000000..e0b3754
--- /dev/null
+++ b/test/vpd_files/ipz_system_corrupted_index_74.dat
Binary files differ
diff --git a/test/vpd_files/ipz_system_corrupted_index_78_79.dat b/test/vpd_files/ipz_system_corrupted_index_78_79.dat
new file mode 100644
index 0000000..eeff8e3
--- /dev/null
+++ b/test/vpd_files/ipz_system_corrupted_index_78_79.dat
Binary files differ
diff --git a/test/vpd_files/ipz_system_min_record.dat b/test/vpd_files/ipz_system_min_record.dat
new file mode 100644
index 0000000..a3bac3c
--- /dev/null
+++ b/test/vpd_files/ipz_system_min_record.dat
Binary files differ
diff --git a/test/vpd_files/ipz_system_truncated.dat b/test/vpd_files/ipz_system_truncated.dat
new file mode 100644
index 0000000..a9777e1
--- /dev/null
+++ b/test/vpd_files/ipz_system_truncated.dat
Binary files differ
diff --git a/test/vpd.dat b/test/vpd_files/keyword.dat
old mode 100755
new mode 100644
similarity index 100%
rename from test/vpd.dat
rename to test/vpd_files/keyword.dat
Binary files differ
diff --git a/test/vpd_files/keyword_corrupted_index_0.dat b/test/vpd_files/keyword_corrupted_index_0.dat
new file mode 100644
index 0000000..cda52ce
--- /dev/null
+++ b/test/vpd_files/keyword_corrupted_index_0.dat
Binary files differ
diff --git a/test/vpd_files/keyword_corrupted_index_177.dat b/test/vpd_files/keyword_corrupted_index_177.dat
new file mode 100644
index 0000000..69810aa
--- /dev/null
+++ b/test/vpd_files/keyword_corrupted_index_177.dat
Binary files differ
diff --git a/test/vpd_files/keyword_corrupted_index_178.dat b/test/vpd_files/keyword_corrupted_index_178.dat
new file mode 100644
index 0000000..40aab82
--- /dev/null
+++ b/test/vpd_files/keyword_corrupted_index_178.dat
Binary files differ
diff --git a/test/vpd_files/keyword_corrupted_index_179.dat b/test/vpd_files/keyword_corrupted_index_179.dat
new file mode 100644
index 0000000..ac2e89d
--- /dev/null
+++ b/test/vpd_files/keyword_corrupted_index_179.dat
Binary files differ
diff --git a/test/vpd_files/keyword_corrupted_index_19.dat b/test/vpd_files/keyword_corrupted_index_19.dat
new file mode 100644
index 0000000..58f146d
--- /dev/null
+++ b/test/vpd_files/keyword_corrupted_index_19.dat
Binary files differ
diff --git a/test/vpd_files/keyword_corrupted_index_20.dat b/test/vpd_files/keyword_corrupted_index_20.dat
new file mode 100644
index 0000000..f18282f
--- /dev/null
+++ b/test/vpd_files/keyword_corrupted_index_20.dat
Binary files differ
diff --git a/test/vpd_files/keyword_corrupted_index_24_large_size.dat b/test/vpd_files/keyword_corrupted_index_24_large_size.dat
new file mode 100644
index 0000000..03122bb
--- /dev/null
+++ b/test/vpd_files/keyword_corrupted_index_24_large_size.dat
Binary files differ
diff --git a/test/vpd_files/keyword_corrupted_index_24_small_size.dat b/test/vpd_files/keyword_corrupted_index_24_small_size.dat
new file mode 100644
index 0000000..1bb1e26
--- /dev/null
+++ b/test/vpd_files/keyword_corrupted_index_24_small_size.dat
Binary files differ
diff --git a/types.hpp b/types.hpp
deleted file mode 100644
index 7917e4f..0000000
--- a/types.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#pragma once
-
-#include <sdbusplus/server.hpp>
-
-#include <climits>
-#include <map>
-#include <string>
-#include <unordered_map>
-#include <vector>
-
-namespace openpower
-{
-namespace vpd
-{
-
-/** @brief The OpenPOWER VPD, in binary, is specified as a
- *         sequence of characters */
-static_assert((8 == CHAR_BIT), "A byte is not 8 bits!");
-using Byte = uint8_t;
-using Binary = std::vector<Byte>;
-using BIOSAttrValueType = std::variant<int64_t, std::string>;
-using PendingBIOSAttrItemType =
-    std::pair<std::string, std::tuple<std::string, BIOSAttrValueType>>;
-using PendingBIOSAttrsType = std::vector<PendingBIOSAttrItemType>;
-
-namespace inventory
-{
-
-using Path = std::string;
-using Property = std::string;
-using Value = std::variant<bool, size_t, int64_t, std::string, Binary>;
-using PropertyMap = std::map<Property, Value>;
-using kwdVpdValueTypes = std::variant<size_t, Binary, std::string>;
-
-using Interface = std::string;
-using InterfaceMap = std::map<Interface, PropertyMap>;
-
-using Object = sdbusplus::message::object_path;
-using ObjectMap = std::map<Object, InterfaceMap>;
-
-using VPDfilepath = std::string;
-using FruIsMotherboard = bool;
-using FrusMap =
-    std::multimap<Path, std::tuple<VPDfilepath, VPDfilepath, FruIsMotherboard>>;
-using LocationCode = std::string;
-using LocationCodeMap = std::unordered_multimap<LocationCode, Path>;
-using ListOfPaths = std::vector<sdbusplus::message::object_path>;
-using NodeNumber = uint16_t;
-using KeywordVpdMap = std::unordered_map<std::string, kwdVpdValueTypes>;
-
-using systemType = std::string;
-using deviceTree = std::string;
-using deviceTreeMap = std::unordered_map<systemType, deviceTree>;
-using PelAdditionalData = std::map<std::string, std::string>;
-using Keyword = std::string;
-using KeywordData = std::string;
-using DbusPropertyMap = std::unordered_map<Keyword, KeywordData>;
-using PelAdditionalData = std::map<std::string, std::string>;
-using Service = std::string;
-using MapperResponse =
-    std::map<Path, std::map<Service, std::vector<Interface>>>;
-using MapperGetObjectResponse = std::map<Service, std::vector<Interface>>;
-using RestoredEeproms = std::tuple<Path, std::string, Keyword, Binary>;
-using ReplaceableFrus = std::vector<VPDfilepath>;
-using EssentialFrus = std::vector<Path>;
-using RecordName = std::string;
-using KeywordDefault = Binary;
-using isPELReqOnRestoreFailure = bool;
-using isMFGResetRequired = bool;
-using SystemKeywordInfo =
-    std::tuple<Keyword, KeywordDefault, isPELReqOnRestoreFailure,
-               isMFGResetRequired, RecordName, Keyword>;
-
-/** Map of system backplane records to list of keywords and its related data. {
- * Record : { Keyword, Default value, Is PEL required on restore failure, Is MFG
- * reset required }} **/
-using SystemKeywordsMap =
-    std::unordered_map<RecordName, std::vector<SystemKeywordInfo>>;
-
-using GetAllResultType = std::vector<std::pair<Keyword, Value>>;
-using IntfPropMap = std::map<RecordName, GetAllResultType>;
-using RecKwValMap =
-    std::unordered_map<RecordName, std::unordered_map<Keyword, Binary>>;
-} // namespace inventory
-
-} // namespace vpd
-} // namespace openpower
diff --git a/utilInterface.hpp b/utilInterface.hpp
deleted file mode 100644
index 14c821c..0000000
--- a/utilInterface.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#pragma once
-#include "ibm_vpd_utils.hpp"
-
-#include <string>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace utils
-{
-namespace interface
-{
-
-class UtilityInterface
-{
-  public:
-    virtual ~UtilityInterface() {}
-
-    virtual std::string readBusProperty(const std::string& obj,
-                                        const std::string& inf,
-                                        const std::string& prop) = 0;
-};
-
-class utility : public UtilityInterface
-{
-  public:
-    virtual ~utility() {}
-
-    std::string readBusProperty(const std::string& obj, const std::string& inf,
-                                const std::string& prop) override
-    {
-        return openpower::vpd::readBusProperty(obj, inf, prop);
-    }
-};
-
-} // namespace interface
-} // namespace utils
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/bios_handler.cpp b/vpd-manager/bios_handler.cpp
deleted file mode 100644
index 7cc5aac..0000000
--- a/vpd-manager/bios_handler.cpp
+++ /dev/null
@@ -1,691 +0,0 @@
-#include "config.h"
-
-#include "bios_handler.hpp"
-
-#include "const.hpp"
-#include "ibm_vpd_utils.hpp"
-#include "manager.hpp"
-#include "types.hpp"
-
-#include <sdbusplus/bus.hpp>
-
-#include <iostream>
-#include <memory>
-#include <string>
-#include <tuple>
-#include <variant>
-
-using namespace openpower::vpd;
-using namespace openpower::vpd::constants;
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-void BiosHandler::checkAndListenPLDMService()
-{
-    // Setup a match on NameOwnerChanged to determine when PLDM is up. In
-    // the signal handler, call restoreBIOSAttribs
-    static std::shared_ptr<sdbusplus::bus::match_t> nameOwnerMatch =
-        std::make_shared<sdbusplus::bus::match_t>(
-            *conn,
-            sdbusplus::bus::match::rules::nameOwnerChanged(
-                "xyz.openbmc_project.PLDM"),
-            [this](sdbusplus::message_t& msg) {
-                if (msg.is_method_error())
-                {
-                    std::cerr
-                        << "Error in reading name owner signal " << std::endl;
-                    return;
-                }
-                std::string name;
-                std::string newOwner;
-                std::string oldOwner;
-
-                msg.read(name, oldOwner, newOwner);
-                if (newOwner != "" && name == "xyz.openbmc_project.PLDM")
-                {
-                    this->restoreBIOSAttribs();
-                    // We don't need the match anymore
-                    nameOwnerMatch.reset();
-                }
-            });
-    // Check if PLDM is already running, if it is, we can go ahead and attempt
-    // to sync BIOS attributes (since PLDM would have initialized them by the
-    // time it acquires a bus name).
-    bool isPLDMRunning = false;
-    try
-    {
-        auto bus = sdbusplus::bus::new_default();
-        auto method =
-            bus.new_method_call("org.freedesktop.DBus", "/org/freedesktop/DBus",
-                                "org.freedesktop.DBus", "NameHasOwner");
-        method.append("xyz.openbmc_project.PLDM");
-
-        auto result = bus.call(method);
-        result.read(isPLDMRunning);
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        std::cerr << "Failed to check if PLDM is running, assume false"
-                  << std::endl;
-        std::cerr << e.what() << std::endl;
-    }
-
-    std::cout << "Is PLDM running: " << isPLDMRunning << std::endl;
-
-    if (isPLDMRunning)
-    {
-        nameOwnerMatch.reset();
-        restoreBIOSAttribs();
-    }
-}
-
-void BiosHandler::listenBiosAttribs()
-{
-    static std::shared_ptr<sdbusplus::bus::match_t> biosMatcher =
-        std::make_shared<sdbusplus::bus::match_t>(
-            *conn,
-            sdbusplus::bus::match::rules::propertiesChanged(
-                "/xyz/openbmc_project/bios_config/manager",
-                "xyz.openbmc_project.BIOSConfig.Manager"),
-            [this](sdbusplus::message_t& msg) { biosAttribsCallback(msg); });
-}
-
-void BiosHandler::biosAttribsCallback(sdbusplus::message_t& msg)
-{
-    if (msg.is_method_error())
-    {
-        std::cerr << "Error in reading BIOS attribute signal " << std::endl;
-        return;
-    }
-    using BiosProperty = std::tuple<
-        std::string, bool, std::string, std::string, std::string,
-        std::variant<int64_t, std::string>, std::variant<int64_t, std::string>,
-        std::vector<std::tuple<std::string, std::variant<int64_t, std::string>,
-                               std::string>>>;
-
-    using BiosBaseTable =
-        std::variant<std::monostate, std::map<std::string, BiosProperty>>;
-    using BiosBaseTableType = std::map<std::string, BiosBaseTable>;
-
-    std::string object;
-    BiosBaseTableType propMap;
-    msg.read(object, propMap);
-    for (auto prop : propMap)
-    {
-        if (prop.first == "BaseBIOSTable")
-        {
-            if (auto list = std::get_if<std::map<std::string, BiosProperty>>(
-                    &(prop.second)))
-            {
-                for (const auto& item : *list)
-                {
-                    std::string attributeName = std::get<0>(item);
-                    if (attributeName == "hb_memory_mirror_mode")
-                    {
-                        auto attrValue = std::get<5>(std::get<1>(item));
-                        auto val = std::get_if<std::string>(&attrValue);
-                        if (val)
-                        {
-                            saveAMMToVPD(*val);
-                        }
-                    }
-                    else if (attributeName == "hb_field_core_override")
-                    {
-                        auto attrValue = std::get<5>(std::get<1>(item));
-                        auto val = std::get_if<int64_t>(&attrValue);
-                        if (val)
-                        {
-                            saveFCOToVPD(*val);
-                        }
-                    }
-                    else if (attributeName == "pvm_keep_and_clear")
-                    {
-                        auto attrValue = std::get<5>(std::get<1>(item));
-                        auto val = std::get_if<std::string>(&attrValue);
-                        if (val)
-                        {
-                            saveKeepAndClearToVPD(*val);
-                        }
-                    }
-                    else if (attributeName == "pvm_create_default_lpar")
-                    {
-                        auto attrValue = std::get<5>(std::get<1>(item));
-                        auto val = std::get_if<std::string>(&attrValue);
-                        if (val)
-                        {
-                            saveCreateDefaultLparToVPD(*val);
-                        }
-                    }
-                    else if (attributeName == "pvm_clear_nvram")
-                    {
-                        auto attrValue = std::get<5>(std::get<1>(item));
-                        auto val = std::get_if<std::string>(&attrValue);
-                        if (val)
-                        {
-                            saveClearNVRAMToVPD(*val);
-                        }
-                    }
-                }
-            }
-            else
-            {
-                inventory::PelAdditionalData additionalData;
-                additionalData.emplace(
-                    "DESCRIPTION",
-                    "Invalid type received for BIOS base table property");
-
-                createPEL(additionalData, PelSeverity::ERROR,
-                          errIntfForVPDDefault, nullptr);
-                std::cerr
-                    << "Invalid type received for BIOS base table property"
-                    << std::endl;
-            }
-        }
-    }
-}
-
-void BiosHandler::saveFCOToVPD(int64_t fcoVal)
-{
-    if (fcoVal == -1)
-    {
-        std::cerr << "Invalid FCO value from BIOS: " << fcoVal << std::endl;
-        return;
-    }
-
-    Binary vpdVal = {0, 0, 0, static_cast<uint8_t>(fcoVal)};
-    auto valInVPD = readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VSYS", "RG");
-
-    if (valInVPD.size() != 4)
-    {
-        std::cerr << "Read bad size for VSYS/RG: " << valInVPD.size()
-                  << std::endl;
-        return;
-    }
-
-    if (std::memcmp(vpdVal.data(), valInVPD.data(), 4) != 0)
-    {
-        std::cout << "Writing FCO to VPD: " << fcoVal << std::endl;
-        manager.writeKeyword(sdbusplus::message::object_path{SYSTEM_OBJECT},
-                             "VSYS", "RG", vpdVal);
-    }
-}
-
-void BiosHandler::saveAMMToVPD(const std::string& mirrorMode)
-{
-    Binary vpdVal;
-    auto valInVPD = readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.UTIL", "D0");
-
-    if (valInVPD.size() != 1)
-    {
-        std::cerr << "Read bad size for UTIL/D0: " << valInVPD.size()
-                  << std::endl;
-        return;
-    }
-
-    if (mirrorMode != "Enabled" && mirrorMode != "Disabled")
-    {
-        std::cerr << "Bad value for Mirror mode BIOS attribute: " << mirrorMode
-                  << std::endl;
-        return;
-    }
-
-    // Write to VPD only if the value is not already what we want to write.
-    if (mirrorMode == "Enabled" && valInVPD.at(0) != 2)
-    {
-        vpdVal.emplace_back(2);
-    }
-    else if (mirrorMode == "Disabled" && valInVPD.at(0) != 1)
-    {
-        vpdVal.emplace_back(1);
-    }
-
-    if (!vpdVal.empty())
-    {
-        std::cout << "Writing AMM to VPD: " << static_cast<int>(vpdVal.at(0))
-                  << std::endl;
-        manager.writeKeyword(sdbusplus::message::object_path{SYSTEM_OBJECT},
-                             "UTIL", "D0", vpdVal);
-    }
-}
-
-void BiosHandler::saveKeepAndClearToVPD(const std::string& keepAndClear)
-{
-    Binary vpdVal;
-    auto valInVPD = readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.UTIL", "D1");
-
-    if (valInVPD.size() != 1)
-    {
-        std::cerr << "Read bad size for UTIL/D1: " << valInVPD.size()
-                  << std::endl;
-        return;
-    }
-
-    if (keepAndClear != "Enabled" && keepAndClear != "Disabled")
-    {
-        std::cerr << "Bad value for keep and clear BIOS attribute: "
-                  << keepAndClear << std::endl;
-        return;
-    }
-
-    // Write to VPD only if the value is not already what we want to write.
-    if (keepAndClear == "Enabled" && ((valInVPD.at(0) & 0x01) != 0x01))
-    {
-        vpdVal.emplace_back(valInVPD.at(0) | 0x01);
-    }
-    else if (keepAndClear == "Disabled" && ((valInVPD.at(0) & 0x01) != 0))
-    {
-        vpdVal.emplace_back(valInVPD.at(0) & ~(0x01));
-    }
-
-    if (!vpdVal.empty())
-    {
-        std::cout << "Writing Keep and Clear to VPD: "
-                  << static_cast<int>(vpdVal.at(0)) << std::endl;
-        manager.writeKeyword(sdbusplus::message::object_path{SYSTEM_OBJECT},
-                             "UTIL", "D1", vpdVal);
-    }
-}
-
-void BiosHandler::saveCreateDefaultLparToVPD(
-    const std::string& createDefaultLpar)
-{
-    Binary vpdVal;
-    auto valInVPD = readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.UTIL", "D1");
-
-    if (valInVPD.size() != 1)
-    {
-        std::cerr << "Read bad size for UTIL/D1: " << valInVPD.size()
-                  << std::endl;
-        return;
-    }
-
-    if (createDefaultLpar != "Enabled" && createDefaultLpar != "Disabled")
-    {
-        std::cerr << "Bad value for create default lpar BIOS attribute: "
-                  << createDefaultLpar << std::endl;
-        return;
-    }
-
-    // Write to VPD only if the value is not already what we want to write.
-    if (createDefaultLpar == "Enabled" && ((valInVPD.at(0) & 0x02) != 0x02))
-    {
-        vpdVal.emplace_back(valInVPD.at(0) | 0x02);
-    }
-    else if (createDefaultLpar == "Disabled" && ((valInVPD.at(0) & 0x02) != 0))
-    {
-        vpdVal.emplace_back(valInVPD.at(0) & ~(0x02));
-    }
-
-    if (!vpdVal.empty())
-    {
-        std::cout << "Writing create default lpar to VPD: "
-                  << static_cast<int>(vpdVal.at(0)) << std::endl;
-        manager.writeKeyword(sdbusplus::message::object_path{SYSTEM_OBJECT},
-                             "UTIL", "D1", vpdVal);
-    }
-}
-
-void BiosHandler::saveClearNVRAMToVPD(const std::string& clearNVRAM)
-{
-    Binary vpdVal;
-    auto valInVPD = readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.UTIL", "D1");
-
-    if (valInVPD.size() != 1)
-    {
-        std::cerr << "Read bad size for UTIL/D1: " << valInVPD.size()
-                  << std::endl;
-        return;
-    }
-
-    if (clearNVRAM != "Enabled" && clearNVRAM != "Disabled")
-    {
-        std::cerr << "Bad value for clear NVRAM BIOS attribute: " << clearNVRAM
-                  << std::endl;
-        return;
-    }
-
-    // Write to VPD only if the value is not already what we want to write.
-    if (clearNVRAM == "Enabled" && ((valInVPD.at(0) & 0x04) != 0x04))
-    {
-        vpdVal.emplace_back(valInVPD.at(0) | 0x04);
-    }
-    else if (clearNVRAM == "Disabled" && ((valInVPD.at(0) & 0x04) != 0))
-    {
-        vpdVal.emplace_back(valInVPD.at(0) & ~(0x04));
-    }
-
-    if (!vpdVal.empty())
-    {
-        std::cout << "Writing clear NVRAM to VPD: "
-                  << static_cast<int>(vpdVal.at(0)) << std::endl;
-        manager.writeKeyword(sdbusplus::message::object_path{SYSTEM_OBJECT},
-                             "UTIL", "D1", vpdVal);
-    }
-}
-
-int64_t BiosHandler::readBIOSFCO()
-{
-    int64_t fcoVal = -1;
-    auto val = readBIOSAttribute("hb_field_core_override");
-
-    if (auto pVal = std::get_if<int64_t>(&val))
-    {
-        fcoVal = *pVal;
-    }
-    else
-    {
-        std::cerr << "FCO is not an int" << std::endl;
-    }
-    return fcoVal;
-}
-
-std::string BiosHandler::readBIOSAMM()
-{
-    std::string ammVal{};
-    auto val = readBIOSAttribute("hb_memory_mirror_mode");
-
-    if (auto pVal = std::get_if<std::string>(&val))
-    {
-        ammVal = *pVal;
-    }
-    else
-    {
-        std::cerr << "AMM is not a string" << std::endl;
-    }
-    return ammVal;
-}
-
-std::string BiosHandler::readBIOSKeepAndClear()
-{
-    std::string keepAndClear{};
-    auto val = readBIOSAttribute("pvm_keep_and_clear");
-
-    if (auto pVal = std::get_if<std::string>(&val))
-    {
-        keepAndClear = *pVal;
-    }
-    else
-    {
-        std::cerr << "Keep and clear is not a string" << std::endl;
-    }
-    return keepAndClear;
-}
-
-std::string BiosHandler::readBIOSCreateDefaultLpar()
-{
-    std::string createDefaultLpar{};
-    auto val = readBIOSAttribute("pvm_create_default_lpar");
-
-    if (auto pVal = std::get_if<std::string>(&val))
-    {
-        createDefaultLpar = *pVal;
-    }
-    else
-    {
-        std::cerr << "Create default LPAR is not a string" << std::endl;
-    }
-    return createDefaultLpar;
-}
-
-std::string BiosHandler::readBIOSClearNVRAM()
-{
-    std::string clearNVRAM{};
-    auto val = readBIOSAttribute("pvm_clear_nvram");
-
-    if (auto pVal = std::get_if<std::string>(&val))
-    {
-        clearNVRAM = *pVal;
-    }
-    else
-    {
-        std::cerr << "Clear NVRAM is not a string" << std::endl;
-    }
-    return clearNVRAM;
-}
-
-void BiosHandler::saveFCOToBIOS(const std::string& fcoVal, int64_t fcoInBIOS)
-{
-    if (fcoVal.size() != 4)
-    {
-        std::cerr << "Bad size for FCO in VPD: " << fcoVal.size() << std::endl;
-        return;
-    }
-
-    // Need to write?
-    if (fcoInBIOS == static_cast<int64_t>(fcoVal.at(3)))
-    {
-        std::cout << "Skip FCO BIOS write, value is already: " << fcoInBIOS
-                  << std::endl;
-        return;
-    }
-
-    PendingBIOSAttrsType biosAttrs;
-    biosAttrs.push_back(
-        std::make_pair("hb_field_core_override",
-                       std::make_tuple("xyz.openbmc_project.BIOSConfig.Manager."
-                                       "AttributeType.Integer",
-                                       fcoVal.at(3))));
-
-    std::cout << "Set hb_field_core_override to: "
-              << static_cast<int>(fcoVal.at(3)) << std::endl;
-
-    setBusProperty<PendingBIOSAttrsType>(
-        "xyz.openbmc_project.BIOSConfigManager",
-        "/xyz/openbmc_project/bios_config/manager",
-        "xyz.openbmc_project.BIOSConfig.Manager", "PendingAttributes",
-        biosAttrs);
-}
-
-void BiosHandler::saveAMMToBIOS(const std::string& ammVal,
-                                const std::string& ammInBIOS)
-{
-    if (ammVal.size() != 1)
-    {
-        std::cerr << "Bad size for AMM in VPD: " << ammVal.size() << std::endl;
-        return;
-    }
-
-    // Make sure data in VPD is sane
-    if (ammVal.at(0) != 1 && ammVal.at(0) != 2)
-    {
-        std::cerr << "Bad value for AMM read from VPD: "
-                  << static_cast<int>(ammVal.at(0)) << std::endl;
-        return;
-    }
-
-    // Need to write?
-    std::string toWrite = (ammVal.at(0) == 2) ? "Enabled" : "Disabled";
-    if (ammInBIOS == toWrite)
-    {
-        std::cout << "Skip AMM BIOS write, value is already: " << toWrite
-                  << std::endl;
-        return;
-    }
-
-    PendingBIOSAttrsType biosAttrs;
-    biosAttrs.push_back(
-        std::make_pair("hb_memory_mirror_mode",
-                       std::make_tuple("xyz.openbmc_project.BIOSConfig.Manager."
-                                       "AttributeType.Enumeration",
-                                       toWrite)));
-
-    std::cout << "Set hb_memory_mirror_mode to: " << toWrite << std::endl;
-
-    setBusProperty<PendingBIOSAttrsType>(
-        "xyz.openbmc_project.BIOSConfigManager",
-        "/xyz/openbmc_project/bios_config/manager",
-        "xyz.openbmc_project.BIOSConfig.Manager", "PendingAttributes",
-        biosAttrs);
-}
-
-void BiosHandler::saveKeepAndClearToBIOS(const std::string& keepAndClear,
-                                         const std::string& keepAndClearInBIOS)
-{
-    if (keepAndClear.size() != 1)
-    {
-        std::cerr << "Bad size for Keep and Clear in VPD: "
-                  << keepAndClear.size() << std::endl;
-        return;
-    }
-
-    // Need to write?
-    std::string toWrite = (keepAndClear.at(0) & 0x01) ? "Enabled" : "Disabled";
-    if (keepAndClearInBIOS == toWrite)
-    {
-        std::cout << "Skip Keep and Clear BIOS write, value is already: "
-                  << toWrite << std::endl;
-        return;
-    }
-
-    PendingBIOSAttrsType biosAttrs;
-    biosAttrs.push_back(
-        std::make_pair("pvm_keep_and_clear",
-                       std::make_tuple("xyz.openbmc_project.BIOSConfig.Manager."
-                                       "AttributeType.Enumeration",
-                                       toWrite)));
-
-    std::cout << "Set pvm_keep_and_clear to: " << toWrite << std::endl;
-
-    setBusProperty<PendingBIOSAttrsType>(
-        "xyz.openbmc_project.BIOSConfigManager",
-        "/xyz/openbmc_project/bios_config/manager",
-        "xyz.openbmc_project.BIOSConfig.Manager", "PendingAttributes",
-        biosAttrs);
-}
-
-void BiosHandler::saveCreateDefaultLparToBIOS(
-    const std::string& createDefaultLpar,
-    const std::string& createDefaultLparInBIOS)
-{
-    if (createDefaultLpar.size() != 1)
-    {
-        std::cerr << "Bad size for Create default LPAR in VPD: "
-                  << createDefaultLpar.size() << std::endl;
-        return;
-    }
-
-    // Need to write?
-    std::string toWrite =
-        (createDefaultLpar.at(0) & 0x02) ? "Enabled" : "Disabled";
-    if (createDefaultLparInBIOS == toWrite)
-    {
-        std::cout << "Skip Create default LPAR BIOS write, value is already: "
-                  << toWrite << std::endl;
-        return;
-    }
-
-    PendingBIOSAttrsType biosAttrs;
-    biosAttrs.push_back(
-        std::make_pair("pvm_create_default_lpar",
-                       std::make_tuple("xyz.openbmc_project.BIOSConfig.Manager."
-                                       "AttributeType.Enumeration",
-                                       toWrite)));
-
-    std::cout << "Set pvm_create_default_lpar to: " << toWrite << std::endl;
-
-    setBusProperty<PendingBIOSAttrsType>(
-        "xyz.openbmc_project.BIOSConfigManager",
-        "/xyz/openbmc_project/bios_config/manager",
-        "xyz.openbmc_project.BIOSConfig.Manager", "PendingAttributes",
-        biosAttrs);
-}
-
-void BiosHandler::saveClearNVRAMToBIOS(const std::string& clearNVRAM,
-                                       const std::string& clearNVRAMInBIOS)
-{
-    if (clearNVRAM.size() != 1)
-    {
-        std::cerr << "Bad size for Clear NVRAM in VPD: " << clearNVRAM.size()
-                  << std::endl;
-        return;
-    }
-
-    // Need to write?
-    std::string toWrite = (clearNVRAM.at(0) & 0x04) ? "Enabled" : "Disabled";
-    if (clearNVRAMInBIOS == toWrite)
-    {
-        std::cout << "Skip Clear NVRAM BIOS write, value is already: "
-                  << toWrite << std::endl;
-        return;
-    }
-
-    PendingBIOSAttrsType biosAttrs;
-    biosAttrs.push_back(
-        std::make_pair("pvm_clear_nvram",
-                       std::make_tuple("xyz.openbmc_project.BIOSConfig.Manager."
-                                       "AttributeType.Enumeration",
-                                       toWrite)));
-
-    std::cout << "Set pvm_clear_nvram to: " << toWrite << std::endl;
-
-    setBusProperty<PendingBIOSAttrsType>(
-        "xyz.openbmc_project.BIOSConfigManager",
-        "/xyz/openbmc_project/bios_config/manager",
-        "xyz.openbmc_project.BIOSConfig.Manager", "PendingAttributes",
-        biosAttrs);
-}
-
-void BiosHandler::restoreBIOSAttribs()
-{
-    // TODO: We could make this slightly more scalable by defining a table of
-    // attributes and their corresponding VPD keywords. However, that needs much
-    // more thought.
-    std::cout << "Attempting BIOS attribute reset" << std::endl;
-    // Check if the VPD contains valid data for FCO, AMM, Keep and Clear,
-    // Create default LPAR and Clear NVRAM *and* that it differs from the data
-    // already in the attributes. If so, set the BIOS attributes as per the
-    // value in the VPD. If the VPD contains default data, then initialize the
-    // VPD keywords with data taken from the BIOS.
-    auto fcoInVPD = readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VSYS", "RG");
-    auto ammInVPD = readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.UTIL", "D0");
-    auto keepAndClearInVPD =
-        readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.UTIL", "D1");
-    auto fcoInBIOS = readBIOSFCO();
-    auto ammInBIOS = readBIOSAMM();
-    auto keepAndClearInBIOS = readBIOSKeepAndClear();
-    auto createDefaultLparInBIOS = readBIOSCreateDefaultLpar();
-    auto clearNVRAMInBIOS = readBIOSClearNVRAM();
-
-    if (fcoInVPD == "    ")
-    {
-        saveFCOToVPD(fcoInBIOS);
-    }
-    else
-    {
-        saveFCOToBIOS(fcoInVPD, fcoInBIOS);
-    }
-
-    if (ammInVPD.at(0) == 0)
-    {
-        saveAMMToVPD(ammInBIOS);
-    }
-    else
-    {
-        saveAMMToBIOS(ammInVPD, ammInBIOS);
-    }
-
-    // No uninitialized handling needed for keep and clear, create default
-    // lpar and clear nvram attributes. Their defaults in VPD are 0's which is
-    // what we want.
-    saveKeepAndClearToBIOS(keepAndClearInVPD, keepAndClearInBIOS);
-    // Have to read D1 again because two attributes are stored in the same
-    // keyword.
-    auto createDefaultLparInVPD =
-        readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.UTIL", "D1");
-    saveCreateDefaultLparToBIOS(createDefaultLparInVPD,
-                                createDefaultLparInBIOS);
-
-    auto clearNVRAMInVPD =
-        readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.UTIL", "D1");
-    saveClearNVRAMToBIOS(clearNVRAMInVPD, clearNVRAMInBIOS);
-
-    // Start listener now that we have done the restore
-    listenBiosAttribs();
-}
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/bios_handler.hpp b/vpd-manager/bios_handler.hpp
deleted file mode 100644
index adee3c7..0000000
--- a/vpd-manager/bios_handler.hpp
+++ /dev/null
@@ -1,254 +0,0 @@
-#pragma once
-
-#include "types.hpp"
-
-#include <stdint.h>
-
-#include <sdbusplus/asio/connection.hpp>
-
-#include <string>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-
-class Manager;
-/**
- * @brief A class that handles changes to BIOS attributes backed by VPD.
- *
- * This class has APIs that handle updates to BIOS attributes that need to
- * be backed up to VPD. It mainly does the following:
- * 1) Checks if the VPD keywords that BIOS attributes are backed to are
- * uninitialized. If so, it initializes them.
- * 2) Listens for changes to BIOS attributes and synchronizes them to the
- * appropriate VPD keyword.
- *
- * Since on a factory reset like scenario, the BIOS attributes are initialized
- * by PLDM, this code waits until PLDM has grabbed a bus name before attempting
- * any syncs.
- */
-class BiosHandler
-{
-  public:
-    // Some default and deleted constructors and assignments.
-    BiosHandler() = delete;
-    BiosHandler(const BiosHandler&) = delete;
-    BiosHandler& operator=(const BiosHandler&) = delete;
-    BiosHandler(Manager&&) = delete;
-    BiosHandler& operator=(BiosHandler&&) = delete;
-    ~BiosHandler() = default;
-
-    BiosHandler(std::shared_ptr<sdbusplus::asio::connection>& conn,
-                Manager& manager) : conn(conn), manager(manager)
-    {
-        checkAndListenPLDMService();
-    }
-
-  private:
-    /**
-     * @brief Check if PLDM service is running and run BIOS sync
-     *
-     * This API checks if the PLDM service is running and if yes it will start
-     * an immediate sync of BIOS attributes. If the service is not running, it
-     * registers a listener to be notified when the service starts so that a
-     * restore can be performed.
-     */
-    void checkAndListenPLDMService();
-
-    /**
-     * @brief Register listener for changes to BIOS Attributes.
-     *
-     * The VPD manager needs to listen to changes to certain BIOS attributes
-     * that are backed by VPD. When the attributes we are interested in
-     * change, the VPD manager will make sure that we write them back to the
-     * VPD keywords that back them up.
-     */
-    void listenBiosAttribs();
-
-    /**
-     * @brief Callback for BIOS Attribute changes
-     *
-     * Checks if the BIOS attribute(s) changed are those backed up by VPD. If
-     * yes, it will update the VPD with the new attribute value.
-     * @param[in] msg - The callback message.
-     */
-    void biosAttribsCallback(sdbusplus::message_t& msg);
-
-    /**
-     * @brief Persistently saves the Memory mirror mode
-     *
-     * Memory mirror mode setting is saved to the UTIL/D0 keyword in the
-     * motherboard VPD. If the mirror mode in BIOS is "Disabled", set D0 to 1,
-     * if "Enabled" set D0 to 2
-     *
-     * @param[in] mirrorMode - The mirror mode BIOS attribute.
-     */
-    void saveAMMToVPD(const std::string& mirrorMode);
-
-    /**
-     * @brief Persistently saves the Field Core Override setting
-     *
-     * Saves the field core override value (FCO) into the VSYS/RG keyword in
-     * the motherboard VPD.
-     *
-     * @param[in] fcoVal - The FCO value as an integer.
-     */
-    void saveFCOToVPD(int64_t fcoVal);
-
-    /**
-     * @brief Persistently saves the Keep and Clear setting
-     *
-     * Keep and clear setting is saved to the UTIL/D1 keyword's 0th bit in the
-     * motherboard VPD. If the keep and clear in BIOS is "Disabled", set D1:0 to
-     * 0, if "Enabled" set D1:0 to 1
-     *
-     * @param[in] keepAndClear - The keep and clear BIOS attribute.
-     */
-    void saveKeepAndClearToVPD(const std::string& keepAndClear);
-
-    /**
-     * @brief Persistently saves the Create default LPAR setting
-     *
-     * Create default LPAR setting is saved to the UTIL/D1 keyword's 1st bit in
-     * the motherboard VPD. If the create default LPAR in BIOS is "Disabled",
-     * set D1:1 to 0, if "Enabled" set D1:1 to 1
-     *
-     * @param[in] createDefaultLpar - The mirror mode BIOS attribute.
-     */
-    void saveCreateDefaultLparToVPD(const std::string& createDefaultLpar);
-
-    /**
-     * @brief Persistently saves the Clear NVRAM setting
-     *
-     * Create default LPAR setting is saved to the UTIL/D1 keyword's 2nd bit in
-     * the motherboard VPD. If the clear NVRAM in BIOS is "Disabled",
-     * set D1:2 to 0, if "Enabled" set D1:2 to 1
-     *
-     * @param[in] createDefaultLpar - The mirror mode BIOS attribute.
-     */
-    void saveClearNVRAMToVPD(const std::string& clearNVRAM);
-
-    /**
-     * @brief Writes Memory mirror mode to BIOS
-     *
-     * Writes to the hb_memory_mirror_mode BIOS attribute, if the value is
-     * not already the same as we are trying to write.
-     *
-     * @param[in] ammVal - The mirror mode as read from VPD.
-     * @param[in] ammInBIOS - The mirror mode in the BIOS table.
-     */
-    void saveAMMToBIOS(const std::string& ammVal, const std::string& ammInBIOS);
-
-    /**
-     * @brief Writes Field Core Override to BIOS
-     *
-     * Writes to the hb_field_core_override BIOS attribute, if the value is not
-     * already the same as we are trying to write.
-     *
-     * @param[in] fcoVal - The FCO value as read from VPD.
-     * @param[in] fcoInBIOS - The FCO value already in the BIOS table.
-     */
-    void saveFCOToBIOS(const std::string& fcoVal, int64_t fcoInBIOS);
-
-    /**
-     * @brief Writes Keep and clear setting to BIOS
-     *
-     * Writes to the pvm_keep_and_clear BIOS attribute, if the value is
-     * not already the same as we are trying to write.
-     *
-     * @param[in] keepAndClear - The keep and clear as read from VPD.
-     * @param[in] keepAndClearInBIOS - The keep and clear in the BIOS table.
-     */
-    void saveKeepAndClearToBIOS(const std::string& keepAndClear,
-                                const std::string& keepAndClearInBIOS);
-
-    /**
-     * @brief Writes Create default LPAR setting to BIOS
-     *
-     * Writes to the pvm_create_default_lpar BIOS attribute, if the value is
-     * not already the same as we are trying to write.
-     *
-     * @param[in] createDefaultLpar - The create default LPAR as read from VPD.
-     * @param[in] createDefaultLparInBIOS - The create default LPAR in the BIOS
-     * table.
-     */
-    void
-        saveCreateDefaultLparToBIOS(const std::string& createDefaultLpar,
-                                    const std::string& createDefaultLparInBIOS);
-
-    /**
-     * @brief Writes Clear NVRAM setting to BIOS
-     *
-     * Writes to the pvm_clear_nvram BIOS attribute, if the value is
-     * not already the same as we are trying to write.
-     *
-     * @param[in] clearNVRAM - The clear NVRAM as read from VPD.
-     * @param[in] clearNVRAMInBIOS - The clear NVRAM in the BIOS table.
-     */
-    void saveClearNVRAMToBIOS(const std::string& clearNVRAM,
-                              const std::string& clearNVRAMInBIOS);
-
-    /**
-     * @brief Reads the hb_memory_mirror_mode attribute
-     *
-     * @return std::string - The AMM BIOS attribute. Empty string on failure.
-     */
-    std::string readBIOSAMM();
-
-    /**
-     * @brief Reads the hb_field_core_override attribute
-     *
-     * @return int64_t - The FCO BIOS attribute.  -1 on failure.
-     */
-    int64_t readBIOSFCO();
-
-    /**
-     * @brief Reads the pvm_keep_and_clear attribute
-     *
-     * @return std::string - The Keep and clear BIOS attribute. Empty string on
-     * failure.
-     */
-    std::string readBIOSKeepAndClear();
-
-    /**
-     * @brief Reads the pvm_create_default_lpar attribute
-     *
-     * @return std::string - The Create default LPAR BIOS attribute. Empty
-     * string on failure.
-     */
-    std::string readBIOSCreateDefaultLpar();
-
-    /**
-     * @brief Reads the pvm_clear_nvram attribute
-     *
-     * @return std::string - The Clear NVRAM BIOS attribute. Empty
-     * string on failure.
-     */
-    std::string readBIOSClearNVRAM();
-
-    /**
-     * @brief Restore BIOS attributes
-     *
-     * This function checks if we are coming out of a factory reset. If yes,
-     * it checks the VPD cache for valid backed up copy of the applicable
-     * BIOS attributes. If valid values are found in the VPD, it will apply
-     * those to the BIOS attributes.
-     */
-    void restoreBIOSAttribs();
-
-    /**
-     * @brief Reference to the connection.
-     */
-    std::shared_ptr<sdbusplus::asio::connection>& conn;
-
-    /**
-     * @brief Reference to the manager.
-     */
-    Manager& manager;
-}; // class BiosHandler
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/editor_impl.cpp b/vpd-manager/editor_impl.cpp
deleted file mode 100644
index c24cc0f..0000000
--- a/vpd-manager/editor_impl.cpp
+++ /dev/null
@@ -1,732 +0,0 @@
-#include "config.h"
-
-#include "editor_impl.hpp"
-
-#include "vpdecc/vpdecc.h"
-
-#include "common_utility.hpp"
-#include "ibm_vpd_utils.hpp"
-#include "ipz_parser.hpp"
-#include "parser_factory.hpp"
-#include "vpd_exceptions.hpp"
-
-#include <phosphor-logging/elog-errors.hpp>
-#include <xyz/openbmc_project/Common/error.hpp>
-
-using namespace openpower::vpd::parser::interface;
-using namespace openpower::vpd::constants;
-using namespace openpower::vpd::parser::factory;
-using namespace openpower::vpd::ipz::parser;
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-namespace editor
-{
-
-void EditorImpl::checkPTForRecord(Binary::const_iterator& iterator,
-                                  Byte ptLength)
-{
-    // auto iterator = ptRecord.cbegin();
-    auto end = std::next(iterator, ptLength + 1);
-
-    // Look at each entry in the PT keyword for the record name
-    while (iterator < end)
-    {
-        auto stop = std::next(iterator, lengths::RECORD_NAME);
-        std::string record(iterator, stop);
-
-        if (record == thisRecord.recName)
-        {
-            // Skip record name and record type
-            std::advance(iterator, lengths::RECORD_NAME + sizeof(RecordType));
-
-            // Get record offset
-            thisRecord.recOffset = readUInt16LE(iterator);
-
-            // pass the record offset length to read record length
-            std::advance(iterator, lengths::RECORD_OFFSET);
-            thisRecord.recSize = readUInt16LE(iterator);
-
-            std::advance(iterator, lengths::RECORD_LENGTH);
-            thisRecord.recECCoffset = readUInt16LE(iterator);
-
-            ECCLength len;
-            std::advance(iterator, lengths::RECORD_ECC_OFFSET);
-            len = readUInt16LE(iterator);
-            thisRecord.recECCLength = len;
-
-            // once we find the record we don't need to look further
-            return;
-        }
-        else
-        {
-            // Jump the record
-            std::advance(iterator,
-                         lengths::RECORD_NAME + sizeof(RecordType) +
-                             sizeof(RecordOffset) + sizeof(RecordLength) +
-                             sizeof(ECCOffset) + sizeof(ECCLength));
-        }
-    }
-    // imples the record was not found
-    throw std::runtime_error("Record not found");
-}
-
-void EditorImpl::updateData(const Binary& kwdData)
-{
-    std::size_t lengthToUpdate = kwdData.size() <= thisRecord.kwdDataLength
-                                     ? kwdData.size()
-                                     : thisRecord.kwdDataLength;
-
-    auto iteratorToNewdata = kwdData.cbegin();
-    auto end = iteratorToNewdata;
-    std::advance(end, lengthToUpdate);
-
-    // update data in file buffer as it will be needed to update ECC
-    // avoiding extra stream operation here
-    auto iteratorToKWdData = vpdFile.begin();
-    std::advance(iteratorToKWdData, thisRecord.kwDataOffset);
-    std::copy(iteratorToNewdata, end, iteratorToKWdData);
-
-#ifdef ManagerTest
-    auto startItr = vpdFile.begin();
-    std::advance(iteratorToKWdData, thisRecord.kwDataOffset);
-    auto endItr = startItr;
-    std::advance(endItr, thisRecord.kwdDataLength);
-
-    Binary updatedData(startItr, endItr);
-    if (updatedData == kwdData)
-    {
-        throw std::runtime_error("Data updated successfully");
-    }
-#else
-
-    // update data in EEPROM as well. As we will not write complete file back
-    vpdFileStream.seekp(startOffset + thisRecord.kwDataOffset, std::ios::beg);
-
-    iteratorToNewdata = kwdData.cbegin();
-    std::copy(iteratorToNewdata, end,
-              std::ostreambuf_iterator<char>(vpdFileStream));
-
-    // get a hold to new data in case encoding is needed
-    thisRecord.kwdUpdatedData.resize(thisRecord.kwdDataLength);
-    auto itrToKWdData = vpdFile.cbegin();
-    std::advance(itrToKWdData, thisRecord.kwDataOffset);
-    auto kwdDataEnd = itrToKWdData;
-    std::advance(kwdDataEnd, thisRecord.kwdDataLength);
-    std::copy(itrToKWdData, kwdDataEnd, thisRecord.kwdUpdatedData.begin());
-#endif
-}
-
-void EditorImpl::checkRecordForKwd()
-{
-    RecordOffset recOffset = thisRecord.recOffset;
-
-    // Amount to skip for record ID, size, and the RT keyword
-    constexpr auto skipBeg = sizeof(RecordId) + sizeof(RecordSize) +
-                             lengths::KW_NAME + sizeof(KwSize);
-
-    auto iterator = vpdFile.cbegin();
-    std::advance(iterator, recOffset + skipBeg + lengths::RECORD_NAME);
-
-    auto end = iterator;
-    std::advance(end, thisRecord.recSize);
-    std::size_t dataLength = 0;
-
-    while (iterator < end)
-    {
-        // Note keyword name
-        std::string kw(iterator, iterator + lengths::KW_NAME);
-
-        // Check if the Keyword starts with '#'
-        char kwNameStart = *iterator;
-        std::advance(iterator, lengths::KW_NAME);
-
-        // if keyword starts with #
-        if (POUND_KW == kwNameStart)
-        {
-            // Note existing keyword data length
-            dataLength = readUInt16LE(iterator);
-
-            // Jump past 2Byte keyword length + data
-            std::advance(iterator, sizeof(PoundKwSize));
-        }
-        else
-        {
-            // Note existing keyword data length
-            dataLength = *iterator;
-
-            // Jump past keyword length and data
-            std::advance(iterator, sizeof(KwSize));
-        }
-
-        if (thisRecord.recKWd == kw)
-        {
-            thisRecord.kwDataOffset = std::distance(vpdFile.cbegin(), iterator);
-            thisRecord.kwdDataLength = dataLength;
-            return;
-        }
-
-        // jump the data of current kwd to point to next kwd name
-        std::advance(iterator, dataLength);
-    }
-
-    throw std::runtime_error("Keyword not found");
-}
-
-void EditorImpl::updateRecordECC()
-{
-    auto itrToRecordData = vpdFile.cbegin();
-    std::advance(itrToRecordData, thisRecord.recOffset);
-
-    auto itrToRecordECC = vpdFile.cbegin();
-    std::advance(itrToRecordECC, thisRecord.recECCoffset);
-
-    auto l_status = vpdecc_create_ecc(
-        const_cast<uint8_t*>(&itrToRecordData[0]), thisRecord.recSize,
-        const_cast<uint8_t*>(&itrToRecordECC[0]), &thisRecord.recECCLength);
-    if (l_status != VPD_ECC_OK)
-    {
-        throw std::runtime_error("Ecc update failed");
-    }
-
-    auto end = itrToRecordECC;
-    std::advance(end, thisRecord.recECCLength);
-
-#ifndef ManagerTest
-    vpdFileStream.seekp(startOffset + thisRecord.recECCoffset, std::ios::beg);
-    std::copy(itrToRecordECC, end,
-              std::ostreambuf_iterator<char>(vpdFileStream));
-#endif
-}
-
-auto EditorImpl::getValue(offsets::Offsets offset)
-{
-    auto itr = vpdFile.cbegin();
-    std::advance(itr, offset);
-    LE2ByteData lowByte = *itr;
-    LE2ByteData highByte = *(itr + 1);
-    lowByte |= (highByte << 8);
-
-    return lowByte;
-}
-
-void EditorImpl::checkRecordData()
-{
-    auto itrToRecordData = vpdFile.cbegin();
-    std::advance(itrToRecordData, thisRecord.recOffset);
-
-    auto itrToRecordECC = vpdFile.cbegin();
-    std::advance(itrToRecordECC, thisRecord.recECCoffset);
-
-    checkECC(itrToRecordData, itrToRecordECC, thisRecord.recSize,
-             thisRecord.recECCLength);
-}
-
-void EditorImpl::checkECC(Binary::const_iterator& itrToRecData,
-                          Binary::const_iterator& itrToECCData,
-                          RecordLength recLength, ECCLength eccLength)
-{
-    auto l_status =
-        vpdecc_check_data(const_cast<uint8_t*>(&itrToRecData[0]), recLength,
-                          const_cast<uint8_t*>(&itrToECCData[0]), eccLength);
-
-    if (l_status == VPD_ECC_CORRECTABLE_DATA)
-    {
-        try
-        {
-            if (vpdFileStream.is_open())
-            {
-                vpdFileStream.seekp(startOffset + thisRecord.recOffset,
-                                    std::ios::beg);
-                auto end = itrToRecData;
-                std::advance(end, recLength);
-                std::copy(itrToRecData, end,
-                          std::ostreambuf_iterator<char>(vpdFileStream));
-            }
-            else
-            {
-                throw std::runtime_error("Ecc correction failed");
-            }
-        }
-        catch (const std::fstream::failure& e)
-        {
-            std::cout << "Error while operating on file with exception";
-            throw std::runtime_error("Ecc correction failed");
-        }
-    }
-    else if (l_status != VPD_ECC_OK)
-    {
-        throw std::runtime_error("Ecc check failed");
-    }
-}
-
-void EditorImpl::readVTOC()
-{
-    // read VTOC offset
-    RecordOffset tocOffset = getValue(offsets::VTOC_PTR);
-
-    // read VTOC record length
-    RecordLength tocLength = getValue(offsets::VTOC_REC_LEN);
-
-    // read TOC ecc offset
-    ECCOffset tocECCOffset = getValue(offsets::VTOC_ECC_OFF);
-
-    // read TOC ecc length
-    ECCLength tocECCLength = getValue(offsets::VTOC_ECC_LEN);
-
-    auto itrToRecord = vpdFile.cbegin();
-    std::advance(itrToRecord, tocOffset);
-
-    auto iteratorToECC = vpdFile.cbegin();
-    std::advance(iteratorToECC, tocECCOffset);
-
-    // validate ecc for the record
-    checkECC(itrToRecord, iteratorToECC, tocLength, tocECCLength);
-
-    // to get to the record name.
-    std::advance(itrToRecord, sizeof(RecordId) + sizeof(RecordSize) +
-                                  // Skip past the RT keyword, which contains
-                                  // the record name.
-                                  lengths::KW_NAME + sizeof(KwSize));
-
-    std::string recordName(itrToRecord, itrToRecord + lengths::RECORD_NAME);
-
-    if ("VTOC" != recordName)
-    {
-        throw std::runtime_error("VTOC record not found");
-    }
-
-    // jump to length of PT kwd
-    std::advance(itrToRecord, lengths::RECORD_NAME + lengths::KW_NAME);
-
-    // Note size of PT
-    Byte ptLen = *itrToRecord;
-    std::advance(itrToRecord, 1);
-
-    checkPTForRecord(itrToRecord, ptLen);
-}
-
-template <typename T>
-void EditorImpl::makeDbusCall(
-    const std::string& object, const std::string& interface,
-    const std::string& property, const std::variant<T>& data)
-{
-    auto bus = sdbusplus::bus::new_default();
-    auto properties =
-        bus.new_method_call(INVENTORY_MANAGER_SERVICE, object.c_str(),
-                            "org.freedesktop.DBus.Properties", "Set");
-    properties.append(interface);
-    properties.append(property);
-    properties.append(data);
-
-    auto result = bus.call(properties);
-
-    if (result.is_method_error())
-    {
-        throw std::runtime_error("bus call failed");
-    }
-}
-
-void EditorImpl::processAndUpdateCI(const std::string& objectPath)
-{
-    inventory::ObjectMap objects;
-    for (auto& commonInterface : jsonFile["commonInterfaces"].items())
-    {
-        for (auto& ciPropertyList : commonInterface.value().items())
-        {
-            if (ciPropertyList.value().type() ==
-                nlohmann::json::value_t::object)
-            {
-                if ((ciPropertyList.value().value("recordName", "") ==
-                     thisRecord.recName) &&
-                    (ciPropertyList.value().value("keywordName", "") ==
-                     thisRecord.recKWd))
-                {
-                    inventory::PropertyMap prop;
-                    inventory::InterfaceMap interfaces;
-                    std::string kwdData(thisRecord.kwdUpdatedData.begin(),
-                                        thisRecord.kwdUpdatedData.end());
-
-                    prop.emplace(ciPropertyList.key(), std::move(kwdData));
-                    interfaces.emplace(commonInterface.key(), std::move(prop));
-                    objects.emplace(objectPath, std::move(interfaces));
-                }
-            }
-        }
-    }
-    // Notify PIM
-    common::utility::callPIM(std::move(objects));
-}
-
-void EditorImpl::processAndUpdateEI(const nlohmann::json& Inventory,
-                                    const inventory::Path& objPath)
-{
-    inventory::ObjectMap objects;
-    for (const auto& extraInterface : Inventory["extraInterfaces"].items())
-    {
-        if (extraInterface.value() != NULL)
-        {
-            for (const auto& eiPropertyList : extraInterface.value().items())
-            {
-                if (eiPropertyList.value().type() ==
-                    nlohmann::json::value_t::object)
-                {
-                    if ((eiPropertyList.value().value("recordName", "") ==
-                         thisRecord.recName) &&
-                        ((eiPropertyList.value().value("keywordName", "") ==
-                          thisRecord.recKWd)))
-                    {
-                        inventory::PropertyMap prop;
-                        inventory::InterfaceMap interfaces;
-                        std::string kwdData(thisRecord.kwdUpdatedData.begin(),
-                                            thisRecord.kwdUpdatedData.end());
-                        encodeKeyword(kwdData, eiPropertyList.value().value(
-                                                   "encoding", ""));
-
-                        prop.emplace(eiPropertyList.key(), std::move(kwdData));
-                        interfaces.emplace(extraInterface.key(),
-                                           std::move(prop));
-                        objects.emplace(objPath, std::move(interfaces));
-                    }
-                }
-            }
-        }
-    }
-    // Notify PIM
-    common::utility::callPIM(std::move(objects));
-}
-
-void EditorImpl::updateCache()
-{
-    const std::vector<nlohmann::json>& groupEEPROM =
-        jsonFile["frus"][vpdFilePath].get_ref<const nlohmann::json::array_t&>();
-
-    inventory::ObjectMap objects;
-    // iterate through all the inventories for this file path
-    for (const auto& singleInventory : groupEEPROM)
-    {
-        inventory::PropertyMap prop;
-        inventory::InterfaceMap interfaces;
-        // by default inherit property is true
-        bool isInherit = true;
-
-        if (singleInventory.find("inherit") != singleInventory.end())
-        {
-            isInherit = singleInventory["inherit"].get<bool>();
-        }
-
-        if (isInherit)
-        {
-            prop.emplace(getDbusNameForThisKw(thisRecord.recKWd),
-                         thisRecord.kwdUpdatedData);
-            interfaces.emplace(
-                (IPZ_INTERFACE + (std::string) "." + thisRecord.recName),
-                std::move(prop));
-            objects.emplace(
-                (singleInventory["inventoryPath"].get<std::string>()),
-                std::move(interfaces));
-
-            // process Common interface
-            processAndUpdateCI(singleInventory["inventoryPath"]
-                                   .get_ref<const nlohmann::json::string_t&>());
-        }
-
-        // process extra interfaces
-        processAndUpdateEI(singleInventory,
-                           singleInventory["inventoryPath"]
-                               .get_ref<const nlohmann::json::string_t&>());
-
-        // check if we need to copy some specific records in this case.
-        if (singleInventory.find("copyRecords") != singleInventory.end())
-        {
-            if (find(singleInventory["copyRecords"].begin(),
-                     singleInventory["copyRecords"].end(),
-                     thisRecord.recName) !=
-                singleInventory["copyRecords"].end())
-            {
-                prop.emplace(thisRecord.recKWd, thisRecord.kwdUpdatedData);
-                interfaces.emplace(
-                    (IPZ_INTERFACE + std::string{"."} + thisRecord.recName),
-                    std::move(prop));
-                objects.emplace(
-                    (singleInventory["inventoryPath"].get<std::string>()),
-                    std::move(interfaces));
-            }
-        }
-    }
-    // Notify PIM
-    common::utility::callPIM(std::move(objects));
-}
-
-void EditorImpl::expandLocationCode(const std::string& locationCodeType)
-{
-    std::string propertyFCorTM{};
-    std::string propertySE{};
-
-    if (locationCodeType == "fcs")
-    {
-        propertyFCorTM =
-            readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VCEN", "FC");
-        propertySE =
-            readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VCEN", "SE");
-    }
-    else if (locationCodeType == "mts")
-    {
-        propertyFCorTM =
-            readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VSYS", "TM");
-        propertySE =
-            readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VSYS", "SE");
-    }
-
-    const nlohmann::json& groupFRUS =
-        jsonFile["frus"].get_ref<const nlohmann::json::object_t&>();
-    inventory::ObjectMap objects;
-
-    for (const auto& itemFRUS : groupFRUS.items())
-    {
-        const std::vector<nlohmann::json>& groupEEPROM =
-            itemFRUS.value().get_ref<const nlohmann::json::array_t&>();
-        for (const auto& itemEEPROM : groupEEPROM)
-        {
-            inventory::PropertyMap prop;
-            inventory::InterfaceMap interfaces;
-            const auto& objectPath = itemEEPROM["inventoryPath"];
-            sdbusplus::message::object_path object(objectPath);
-
-            // check if the given item implements location code interface
-            if (itemEEPROM["extraInterfaces"].find(IBM_LOCATION_CODE_INF) !=
-                itemEEPROM["extraInterfaces"].end())
-            {
-                const std::string& unexpandedLocationCode =
-                    itemEEPROM["extraInterfaces"][IBM_LOCATION_CODE_INF]
-                              ["LocationCode"]
-                                  .get_ref<const nlohmann::json::string_t&>();
-                std::size_t idx = unexpandedLocationCode.find(locationCodeType);
-                if (idx != std::string::npos)
-                {
-                    std::string expandedLocationCode(unexpandedLocationCode);
-
-                    if (locationCodeType == "fcs")
-                    {
-                        expandedLocationCode.replace(
-                            idx, 3,
-                            propertyFCorTM.substr(0, 4) + ".ND0." + propertySE);
-                    }
-                    else if (locationCodeType == "mts")
-                    {
-                        std::replace(propertyFCorTM.begin(),
-                                     propertyFCorTM.end(), '-', '.');
-                        expandedLocationCode.replace(
-                            idx, 3, propertyFCorTM + "." + propertySE);
-                    }
-
-                    // update the DBUS interface COM as well as XYZ path
-                    prop.emplace("LocationCode", expandedLocationCode);
-                    // TODO deprecate this com.ibm interface later
-                    interfaces.emplace(IBM_LOCATION_CODE_INF, prop);
-                    interfaces.emplace(XYZ_LOCATION_CODE_INF, std::move(prop));
-                }
-            }
-            objects.emplace(std::move(object), std::move(interfaces));
-        }
-    }
-    // Notify PIM
-    common::utility::callPIM(std::move(objects));
-}
-
-#ifndef ManagerTest
-static void enableRebootGuard()
-{
-    try
-    {
-        auto bus = sdbusplus::bus::new_default();
-        auto method = bus.new_method_call(
-            "org.freedesktop.systemd1", "/org/freedesktop/systemd1",
-            "org.freedesktop.systemd1.Manager", "StartUnit");
-        method.append("reboot-guard-enable.service", "replace");
-        bus.call_noreply(method);
-    }
-    catch (const sdbusplus::exception_t& e)
-    {
-        std::string errMsg =
-            "Bus call to enable BMC reboot failed for reason: ";
-        errMsg += e.what();
-
-        throw std::runtime_error(errMsg);
-    }
-}
-
-static void disableRebootGuard()
-{
-    try
-    {
-        auto bus = sdbusplus::bus::new_default();
-        auto method = bus.new_method_call(
-            "org.freedesktop.systemd1", "/org/freedesktop/systemd1",
-            "org.freedesktop.systemd1.Manager", "StartUnit");
-        method.append("reboot-guard-disable.service", "replace");
-        bus.call_noreply(method);
-    }
-    catch (const sdbusplus::exception_t& e)
-    {
-        using namespace phosphor::logging;
-        using InternalFailure =
-            sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
-
-        std::string errMsg =
-            "Bus call to disable BMC reboot failed for reason: ";
-        errMsg += e.what();
-
-        log<level::ERR>("Disable boot guard failed");
-        elog<InternalFailure>();
-
-        throw std::runtime_error(errMsg);
-    }
-}
-#endif
-
-void EditorImpl::updateKeyword(const Binary& kwdData, uint32_t offset,
-                               const bool& updCache)
-{
-    try
-    {
-        startOffset = offset;
-#ifndef ManagerTest
-        // Restrict BMC from rebooting when VPD is being written. This will
-        // prevent any data/ECC corruption in case BMC reboots while VPD update.
-        enableRebootGuard();
-
-        Binary completeVPDFile;
-        vpdFileStream.exceptions(
-            std::ifstream::badbit | std::ifstream::failbit);
-        try
-        {
-            vpdFileStream.open(vpdFilePath,
-                               std::ios::in | std::ios::out | std::ios::binary);
-
-            auto vpdFileSize =
-                std::min(std::filesystem::file_size(vpdFilePath), MAX_VPD_SIZE);
-            if (vpdFileSize == 0)
-            {
-                std::cerr << "File size is 0 for " << vpdFilePath << std::endl;
-                throw std::runtime_error("File size is 0.");
-            }
-
-            completeVPDFile.resize(vpdFileSize);
-            vpdFileStream.seekg(startOffset, std::ios_base::cur);
-            vpdFileStream.read(reinterpret_cast<char*>(&completeVPDFile[0]),
-                               vpdFileSize);
-            vpdFileStream.clear(std::ios_base::eofbit);
-        }
-        catch (const std::system_error& fail)
-        {
-            std::cerr << "Exception in file handling [" << vpdFilePath
-                      << "] error : " << fail.what();
-            std::cerr << "Stream file size = " << vpdFileStream.gcount()
-                      << std::endl;
-            throw;
-        }
-        vpdFile = completeVPDFile;
-
-        if (objPath.empty() &&
-            jsonFile["frus"].find(vpdFilePath) != jsonFile["frus"].end())
-        {
-            objPath = jsonFile["frus"][vpdFilePath][0]["inventoryPath"]
-                          .get_ref<const nlohmann::json::string_t&>();
-        }
-
-#else
-
-        Binary completeVPDFile = vpdFile;
-
-#endif
-        if (vpdFile.empty())
-        {
-            throw std::runtime_error("Invalid File");
-        }
-        auto iterator = vpdFile.cbegin();
-        std::advance(iterator, IPZ_DATA_START);
-
-        Byte vpdType = *iterator;
-        if (vpdType == KW_VAL_PAIR_START_TAG)
-        {
-            // objPath should be empty only in case of test run.
-            ParserInterface* Iparser = ParserFactory::getParser(
-                completeVPDFile, objPath, vpdFilePath, startOffset);
-            IpzVpdParser* ipzParser = dynamic_cast<IpzVpdParser*>(Iparser);
-
-            try
-            {
-                if (ipzParser == nullptr)
-                {
-                    throw std::runtime_error("Invalid cast");
-                }
-
-                ipzParser->processHeader();
-                delete ipzParser;
-                ipzParser = nullptr;
-                // ParserFactory::freeParser(Iparser);
-
-                // process VTOC for PTT rkwd
-                readVTOC();
-
-                // check record for keywrod
-                checkRecordForKwd();
-
-                // Check Data before updating
-                checkRecordData();
-
-                // update the data to the file
-                updateData(kwdData);
-
-                // update the ECC data for the record once data has been updated
-                updateRecordECC();
-
-                if (updCache)
-                {
-#ifndef ManagerTest
-                    // update the cache once data has been updated
-                    updateCache();
-#endif
-                }
-            }
-            catch (const std::exception& e)
-            {
-                if (ipzParser != nullptr)
-                {
-                    delete ipzParser;
-                }
-                throw std::runtime_error(e.what());
-            }
-
-#ifndef ManagerTest
-            // Once VPD data and Ecc update is done, disable BMC boot guard.
-            disableRebootGuard();
-#endif
-
-            return;
-        }
-        else
-        {
-            throw openpower::vpd::exceptions::VpdDataException(
-                "Could not find start tag in VPD " + vpdFilePath);
-        }
-    }
-    catch (const std::exception& e)
-    {
-#ifndef ManagerTest
-        // Disable reboot guard.
-        disableRebootGuard();
-#endif
-
-        throw std::runtime_error(e.what());
-    }
-}
-} // namespace editor
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/editor_impl.hpp b/vpd-manager/editor_impl.hpp
deleted file mode 100644
index cf0ef2b..0000000
--- a/vpd-manager/editor_impl.hpp
+++ /dev/null
@@ -1,216 +0,0 @@
-#pragma once
-
-#include "const.hpp"
-#include "types.hpp"
-
-#include <nlohmann/json.hpp>
-
-#include <cstddef>
-#include <fstream>
-#include <tuple>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-namespace editor
-{
-
-/** @class EditorImpl */
-class EditorImpl
-{
-  public:
-    EditorImpl() = delete;
-    EditorImpl(const EditorImpl&) = delete;
-    EditorImpl& operator=(const EditorImpl&) = delete;
-    EditorImpl(EditorImpl&&) = delete;
-    EditorImpl& operator=(EditorImpl&&) = delete;
-    ~EditorImpl() {}
-
-    /** @brief Construct EditorImpl class
-     *
-     *  @param[in] record - Record Name
-     *  @param[in] kwd - Keyword
-     *  @param[in] vpd - Vpd Vector
-     */
-    EditorImpl(const std::string& record, const std::string& kwd,
-               Binary&& vpd) :
-        startOffset(0), thisRecord(record, kwd), vpdFile(std::move(vpd))
-    {}
-
-    /** @brief Construct EditorImpl class
-     *
-     *  @param[in] path - Path to the vpd file
-     *  @param[in] json - Parsed inventory json
-     *  @param[in] record - Record name
-     *  @param[in] kwd - Keyword
-     *  @param[in] inventoryPath - Inventory path of the vpd
-     */
-    EditorImpl(const inventory::Path& path, const nlohmann::json& json,
-               const std::string& record, const std::string& kwd,
-               const sdbusplus::message::object_path& inventoryPath) :
-        vpdFilePath(path), objPath(inventoryPath), startOffset(0),
-        jsonFile(json), thisRecord(record, kwd)
-    {}
-
-    /** @brief Construct EditorImpl class
-     *
-     * @param[in] path - EEPROM path
-     * @param[in] json - Parsed inventory json object
-     * @param[in] record - Record name
-     * @param[in] kwd - Keyword name
-     */
-    EditorImpl(const inventory::Path& path, const nlohmann::json& json,
-               const std::string& record, const std::string& kwd) :
-        vpdFilePath(path), jsonFile(json), thisRecord(record, kwd)
-    {}
-
-    /**
-     * @brief Update data for keyword
-     * The method looks for the record name to update in VTOC and then
-     * looks for the keyword name in that record. when found it updates the data
-     * of keyword with the given data. It does not block keyword data update in
-     * case the length of new data is greater than or less than the current data
-     * length. If the new data length is more than the length allotted to that
-     * keyword the new data will be truncated to update only the allotted
-     * length. Similarly if the new data length is less then only that much data
-     * will be updated for the keyword and remaining bits will be left
-     * unchanged.
-     *
-     * Following is the algorithm used to update keyword:
-     * 1) Look for the record name in the given VPD file
-     * 2) Look for the keyword name for which data needs to be updated
-     *    which is the table of contents record.
-     * 3) update the data for that keyword with the new data
-     *
-     * @param[in] kwdData - data to update
-     * @param[in] offset - offset at which the VPD starts
-     * @param[in] updCache - Flag which tells whether to update Cache or not.
-     */
-    void updateKeyword(const Binary& kwdData, uint32_t offset,
-                       const bool& updCache);
-
-    /** @brief Expands location code on DBUS
-     *  @param[in] locationCodeType - "fcs" or "mts"
-     */
-    void expandLocationCode(const std::string& locationCodeType);
-
-  private:
-    /** @brief read VTOC record from the vpd file
-     */
-    void readVTOC();
-
-    /** @brief validate ecc data for the VTOC record
-     *  @param[in] itrToRecData -iterator to the record data
-     *  @param[in] itrToECCData - iterator to the ECC data
-     *  @param[in] recLength - Length of the record
-     *  @param[in] eccLength - Length of the record's ECC
-     */
-    void checkECC(Binary::const_iterator& itrToRecData,
-                  Binary::const_iterator& itrToECCData,
-                  openpower::vpd::constants::RecordLength recLength,
-                  openpower::vpd::constants::ECCLength eccLength);
-
-    /** @brief reads value at the given offset
-     *  @param[in] offset - offset value
-     *  @return  value at that offset in bigendian
-     */
-    auto getValue(openpower::vpd::constants::offsets::Offsets offset);
-
-    /** @brief Checks if required record name exist in the VPD file
-     *  @param[in] iterator - pointing to start of PT kwd
-     *  @param[in] ptLength - length of the PT kwd
-     */
-    void checkPTForRecord(Binary::const_iterator& iterator, Byte ptLength);
-
-    /** @brief Checks for required keyword in the record */
-    void checkRecordForKwd();
-
-    /** @brief update data for given keyword
-     *  @param[in] kwdData- data to be updated
-     */
-    void updateData(const Binary& kwdData);
-
-    /** @brief update record ECC */
-    void updateRecordECC();
-
-    /** @brief method to update cache once the data for keyword has been updated
-     */
-    void updateCache();
-
-    /** @brief method to process and update CI in case required
-     *  @param[in] - objectPath - path of the object to introspect
-     */
-    void processAndUpdateCI(const std::string& objectPath);
-
-    /** @brief method to process and update extra interface
-     *  @param[in] Inventory - single inventory json subpart
-     *  @param[in] objPath - path of the object to introspect
-     */
-    void processAndUpdateEI(const nlohmann::json& Inventory,
-                            const inventory::Path& objPath);
-
-    /** @brief method to make busctl call
-     *
-     *  @param[in] object - bus object path
-     *  @param[in] interface - bus interface
-     *  @param[in] property - property to update on BUS
-     *  @param[in] data - data to be updated on Bus
-     *
-     */
-    template <typename T>
-    void makeDbusCall(const std::string& object, const std::string& interface,
-                      const std::string& property, const std::variant<T>& data);
-
-    /** @brief Method to check the record's Data using ECC */
-    void checkRecordData();
-
-    // path to the VPD file to edit
-    inventory::Path vpdFilePath;
-
-    // inventory path of the vpd fru to update keyword
-    inventory::Path objPath{};
-
-    // stream to perform operation on file
-    std::fstream vpdFileStream;
-
-    // stream to operate on VPD data
-    std::fstream vpdDataFileStream;
-
-    // offset to get vpd data from EEPROM
-    uint32_t startOffset;
-
-    // file to store parsed json
-    const nlohmann::json jsonFile;
-
-    // structure to hold info about record to edit
-    struct RecInfo
-    {
-        Binary kwdUpdatedData; // need access to it in case encoding is needed
-        const std::string recName;
-        const std::string recKWd;
-        openpower::vpd::constants::RecordOffset recOffset;
-        openpower::vpd::constants::ECCOffset recECCoffset;
-        std::size_t recECCLength;
-        std::size_t kwdDataLength;
-        openpower::vpd::constants::RecordSize recSize;
-        openpower::vpd::constants::DataOffset kwDataOffset;
-        // constructor
-        RecInfo(const std::string& rec, const std::string& kwd) :
-            recName(rec), recKWd(kwd), recOffset(0), recECCoffset(0),
-            recECCLength(0), kwdDataLength(0), recSize(0), kwDataOffset(0)
-        {}
-    } thisRecord;
-
-    Binary vpdFile;
-
-    // If requested Interface is common Interface
-    bool isCI;
-}; // class EditorImpl
-
-} // namespace editor
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/gpioMonitor.cpp b/vpd-manager/gpioMonitor.cpp
deleted file mode 100644
index 3196fee..0000000
--- a/vpd-manager/gpioMonitor.cpp
+++ /dev/null
@@ -1,201 +0,0 @@
-#include "gpioMonitor.hpp"
-
-#include "common_utility.hpp"
-#include "ibm_vpd_utils.hpp"
-
-#include <boost/asio.hpp>
-#include <boost/bind/bind.hpp>
-#include <gpiod.hpp>
-
-using namespace std;
-using namespace openpower::vpd::constants;
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-
-bool GpioEventHandler::getPresencePinValue()
-{
-    Byte gpioData = 1;
-    gpiod::line presenceLine = gpiod::find_line(presencePin);
-    if (!presenceLine)
-    {
-        cerr << "Error getPresencePinValue: couldn't find presence line:"
-             << presencePin << " on GPIO \n";
-        // return previous state as we couldn't read current state
-        return prevPresPinValue;
-    }
-
-    presenceLine.request(
-        {"Op-panel presence line", gpiod::line_request::DIRECTION_INPUT, 0});
-
-    gpioData = presenceLine.get_value();
-
-    return gpioData;
-}
-
-void GpioMonitor::initGpioInfos(
-    std::shared_ptr<boost::asio::io_context>& ioContext)
-{
-    Byte outputValue = 0;
-    Byte presenceValue = 0;
-    string presencePinName{}, outputPinName{};
-    string devNameAddr{}, driverType{}, busType{}, objectPath{};
-
-    for (const auto& eachFRU : jsonFile["frus"].items())
-    {
-        for (const auto& eachInventory : eachFRU.value())
-        {
-            objectPath = eachInventory["inventoryPath"];
-
-            if ((eachInventory.find("presence") != eachInventory.end()) &&
-                (eachInventory.find("preAction") != eachInventory.end()))
-            {
-                if (!eachInventory["presence"].value("pollingRequired", false))
-                {
-                    // Polling not required for this FRU , skip.
-                    continue;
-                }
-
-                for (const auto& presStatus : eachInventory["presence"].items())
-                {
-                    if (presStatus.key() == "pin")
-                    {
-                        presencePinName = presStatus.value();
-                    }
-                    else if (presStatus.key() == "value")
-                    {
-                        presenceValue = presStatus.value();
-                    }
-                }
-
-                // Based on presence pin value, preAction pin will be set/reset
-                // This action will be taken before vpd collection.
-                for (const auto& preAction : eachInventory["preAction"].items())
-                {
-                    if (preAction.key() == "pin")
-                    {
-                        outputPinName = preAction.value();
-                    }
-                    else if (preAction.key() == "value")
-                    {
-                        outputValue = preAction.value();
-                    }
-                }
-
-                if ((eachInventory.find("devAddress") != eachInventory.end()) &&
-                    (eachInventory.find("driverType") != eachInventory.end()) &&
-                    (eachInventory.find("busType") != eachInventory.end()))
-                {
-                    devNameAddr = eachInventory["devAddress"];
-                    driverType = eachInventory["driverType"];
-                    busType = eachInventory["busType"];
-
-                    // Init all Gpio info variables
-                    std::shared_ptr<GpioEventHandler> gpioObj =
-                        make_shared<GpioEventHandler>(
-                            presencePinName, presenceValue, outputPinName,
-                            outputValue, devNameAddr, driverType, busType,
-                            objectPath, ioContext);
-
-                    gpioObjects.push_back(gpioObj);
-                }
-            }
-        }
-    }
-}
-
-void GpioEventHandler::toggleGpio()
-{
-    bool presPinVal = getPresencePinValue();
-    bool isPresent = false;
-
-    // preserve the new value
-    prevPresPinValue = presPinVal;
-
-    if (presPinVal == presenceValue)
-    {
-        isPresent = true;
-    }
-
-    // if FRU went away set the present property to false
-    if (!isPresent)
-    {
-        inventory::ObjectMap objects;
-        inventory::InterfaceMap interfaces;
-        inventory::PropertyMap presProp;
-
-        presProp.emplace("Present", false);
-        interfaces.emplace("xyz.openbmc_project.Inventory.Item", presProp);
-        objects.emplace(objectPath, move(interfaces));
-
-        common::utility::callPIM(move(objects));
-    }
-
-    gpiod::line outputLine = gpiod::find_line(outputPin);
-    if (!outputLine)
-    {
-        cerr << "Error: toggleGpio: couldn't find output line:" << outputPin
-             << ". Skipping update\n";
-
-        return;
-    }
-
-    outputLine.request({"FRU presence: update the output GPIO pin",
-                        gpiod::line_request::DIRECTION_OUTPUT, 0},
-                       isPresent ? outputValue : (!outputValue));
-
-    string cmnd = createBindUnbindDriverCmnd(devNameAddr, busType, driverType,
-                                             isPresent ? "bind" : "unbind");
-
-    cout << cmnd << endl;
-    executeCmd(cmnd);
-}
-
-void GpioEventHandler::handleTimerExpiry(
-    const boost::system::error_code& ec,
-    std::shared_ptr<boost::asio::steady_timer>& timer)
-{
-    if (ec == boost::asio::error::operation_aborted)
-    {
-        return;
-    }
-
-    if (ec)
-    {
-        std::cerr << "Timer wait failed for gpio pin" << ec.message();
-        return;
-    }
-
-    if (hasEventOccurred())
-    {
-        toggleGpio();
-    }
-    timer->expires_at(
-        std::chrono::steady_clock::now() + std::chrono::seconds(5));
-    timer->async_wait(boost::bind(&GpioEventHandler::handleTimerExpiry, this,
-                                  boost::asio::placeholders::error, timer));
-}
-
-void GpioEventHandler::doEventAndTimerSetup(
-    std::shared_ptr<boost::asio::io_context>& ioContext)
-{
-    prevPresPinValue = getPresencePinValue();
-
-    static vector<std::shared_ptr<boost::asio::steady_timer>> timers;
-
-    auto timer = make_shared<boost::asio::steady_timer>(
-        *ioContext, std::chrono::seconds(5));
-
-    timer->async_wait(boost::bind(&GpioEventHandler::handleTimerExpiry, this,
-                                  boost::asio::placeholders::error, timer));
-
-    timers.push_back(timer);
-}
-
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/gpioMonitor.hpp b/vpd-manager/gpioMonitor.hpp
deleted file mode 100644
index 5f34336..0000000
--- a/vpd-manager/gpioMonitor.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-#pragma once
-#include "types.hpp"
-
-#include <boost/asio/steady_timer.hpp>
-#include <nlohmann/json.hpp>
-#include <sdbusplus/asio/connection.hpp>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-/** @class GpioEventHandler
- *  @brief Responsible for catching the event and handle it.
- *         This keeps checking for the FRU's presence.
- *         If any attachment or de-attachment found, it enables/disables that
- * fru's output gpio and bind/unbind the driver, respectively.
- */
-class GpioEventHandler
-{
-  public:
-    GpioEventHandler() = default;
-    ~GpioEventHandler() = default;
-    GpioEventHandler(const GpioEventHandler&) = default;
-    GpioEventHandler& operator=(const GpioEventHandler&) = delete;
-    GpioEventHandler(GpioEventHandler&&) = delete;
-    GpioEventHandler& operator=(GpioEventHandler&&) = delete;
-
-    GpioEventHandler(std::string& presPin, Byte& presValue, std::string& outPin,
-                     Byte& outValue, std::string& devAddr, std::string& driver,
-                     std::string& bus, std::string& objPath,
-                     std::shared_ptr<boost::asio::io_context>& ioCon) :
-        presencePin(presPin), presenceValue(presValue), outputPin(outPin),
-        outputValue(outValue), devNameAddr(devAddr), driverType(driver),
-        busType(bus), objectPath(objPath)
-    {
-        doEventAndTimerSetup(ioCon);
-    }
-
-  private:
-    /** @brief GPIO information to get parsed from vpd json*/
-
-    // gpio pin indicates presence/absence of fru
-    const std::string presencePin;
-    // value which means fru is present
-    const Byte presenceValue;
-    // gpio pin to enable If fru is present
-    const std::string outputPin;
-    // Value to set, to enable the output pin
-    const Byte outputValue;
-
-    // FRU address on bus
-    const std::string devNameAddr;
-    // Driver type
-    const std::string driverType;
-    // Bus type
-    const std::string busType;
-    // object path of FRU
-    const std::string objectPath;
-
-    /** Preserves the GPIO pin value to compare it next time. Default init by
-     *  false*/
-    bool prevPresPinValue = false;
-
-    /** @brief This is a helper function to read the
-     *        current value of Presence GPIO
-     *
-     *  @returns The GPIO value
-     */
-    bool getPresencePinValue();
-
-    /** @brief This function will toggle the output gpio as per the presence
-     *         state of fru.
-     */
-    void toggleGpio();
-
-    /** @brief This function checks for fru's presence pin and detects change of
-     *         value on that pin, (in case of fru gets attached or de-attached).
-     *
-     *  @returns true if presence pin value changed
-     *           false otherwise
-     */
-    inline bool hasEventOccurred()
-    {
-        return getPresencePinValue() != prevPresPinValue;
-    }
-
-    /** @brief This function runs a timer , which keeps checking for if an event
-     *         happened, if event occurred then takes action.
-     *
-     *  @param[in] ioContext - Pointer to io context object.
-     */
-    void doEventAndTimerSetup(
-        std::shared_ptr<boost::asio::io_context>& ioContext);
-
-    /**
-     * @brief Api to handle timer expiry.
-     *
-     * @param ec - Error code.
-     * @param timer - Pointer to timer object.
-     */
-    void handleTimerExpiry(const boost::system::error_code& ec,
-                           std::shared_ptr<boost::asio::steady_timer>& timer);
-};
-
-/** @class GpioMonitor
- *  @brief Responsible for initialising the private variables containing gpio
- *         infos. These information will be fetched from vpd json.
- */
-class GpioMonitor
-{
-  public:
-    GpioMonitor() = delete;
-    ~GpioMonitor() = default;
-    GpioMonitor(const GpioMonitor&) = delete;
-    GpioMonitor& operator=(const GpioMonitor&) = delete;
-    GpioMonitor(GpioMonitor&&) = delete;
-    GpioMonitor& operator=(GpioMonitor&&) = delete;
-
-    GpioMonitor(nlohmann::json& js,
-                std::shared_ptr<boost::asio::io_context>& ioCon) : jsonFile(js)
-    {
-        initGpioInfos(ioCon);
-    }
-
-  private:
-    // Json file to get the data
-    nlohmann::json& jsonFile;
-    // Array of event handlers for all the attachable FRUs
-    std::vector<std::shared_ptr<GpioEventHandler>> gpioObjects;
-
-    /** @brief This function will extract the gpio information from vpd json
-     * and store it in GpioEventHandler's private variables
-     *
-     * @param[in] ioContext - Pointer to io context object.
-     */
-    void initGpioInfos(std::shared_ptr<boost::asio::io_context>& ioContext);
-};
-
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/include/backup_restore.hpp b/vpd-manager/include/backup_restore.hpp
new file mode 100644
index 0000000..12ec384
--- /dev/null
+++ b/vpd-manager/include/backup_restore.hpp
@@ -0,0 +1,102 @@
+#pragma once
+
+#include "types.hpp"
+
+#include <nlohmann/json.hpp>
+
+#include <tuple>
+
+namespace vpd
+{
+
+// Backup and restore operation status.
+enum class BackupAndRestoreStatus : uint8_t
+{
+    NotStarted,
+    Invoked,
+    Completed
+};
+
+/**
+ * @brief class to implement backup and restore VPD.
+ *
+ */
+
+class BackupAndRestore
+{
+  public:
+    // delete functions
+    BackupAndRestore() = delete;
+    BackupAndRestore(const BackupAndRestore&) = delete;
+    BackupAndRestore& operator=(const BackupAndRestore&) = delete;
+    BackupAndRestore(BackupAndRestore&&) = delete;
+    BackupAndRestore& operator=(BackupAndRestore&&) = delete;
+
+    /**
+     * @brief Constructor.
+     *
+     * @param[in] i_sysCfgJsonObj - System config JSON object.
+     *
+     * @throw std::runtime_error in case constructor failure.
+     */
+    BackupAndRestore(const nlohmann::json& i_sysCfgJsonObj);
+
+    /**
+     * @brief Default destructor.
+     */
+    ~BackupAndRestore() = default;
+
+    /**
+     * @brief An API to backup and restore VPD.
+     *
+     * Note: This API works on the keywords declared in the backup and restore
+     * config JSON. Restore or backup action could be triggered for each
+     * keyword, based on the keyword's value present in the source and
+     * destination keyword.
+     *
+     * Restore source keyword's value with destination keyword's value,
+     * when source keyword has default value but
+     * destination's keyword has non default value.
+     *
+     * Backup the source keyword value to the destination's keyword's value,
+     * when source keyword has non default value but
+     * destination's keyword has default value.
+     *
+     * @return Tuple of updated source and destination VPD map variant.
+     */
+    std::tuple<types::VPDMapVariant, types::VPDMapVariant> backupAndRestore();
+
+    /**
+     * @brief An API to set backup and restore status.
+     *
+     * @param[in] i_status - Status to set.
+     */
+    static void
+        setBackupAndRestoreStatus(const BackupAndRestoreStatus& i_status);
+
+  private:
+    /**
+     * @brief An API to handle backup and restore of IPZ type VPD.
+     *
+     * @param[in,out] io_srcVpdMap - Source VPD map.
+     * @param[in,out] io_dstVpdMap - Destination VPD map.
+     * @param[in] i_srcPath - Source EEPROM file path or inventory path.
+     * @param[in] i_dstPath - Destination EEPROM file path or inventory path.
+     *
+     * @throw std::runtime_error
+     */
+    void backupAndRestoreIpzVpd(
+        types::IPZVpdMap& io_srcVpdMap, types::IPZVpdMap& io_dstVpdMap,
+        const std::string& i_srcPath, const std::string& i_dstPath);
+
+    // System JSON config JSON object.
+    nlohmann::json m_sysCfgJsonObj{};
+
+    // Backup and restore config JSON object.
+    nlohmann::json m_backupAndRestoreCfgJsonObj{};
+
+    // Backup and restore status.
+    static BackupAndRestoreStatus m_backupAndRestoreStatus;
+};
+
+} // namespace vpd
diff --git a/vpd-manager/include/bios_handler.hpp b/vpd-manager/include/bios_handler.hpp
new file mode 100644
index 0000000..916811e
--- /dev/null
+++ b/vpd-manager/include/bios_handler.hpp
@@ -0,0 +1,273 @@
+#pragma once
+#include "manager.hpp"
+#include "types.hpp"
+
+#include <sdbusplus/asio/connection.hpp>
+#include <sdbusplus/bus.hpp>
+
+namespace vpd
+{
+
+/**
+ * @brief Interface class for BIOS handling.
+ *
+ * The class layout has the virtual methods required to be implemented by any
+ * concrete class that intends to use the feature provided via BIOS handler
+ * class.
+ */
+class BiosHandlerInterface
+{
+  public:
+    /**
+     * @brief API to back up or restore BIOS attributes.
+     *
+     * Concrete class should implement the API and read the backed up data from
+     * its designated location and take a call if it should be backed up or
+     * restored.
+     */
+    virtual void backUpOrRestoreBiosAttributes() = 0;
+
+    /**
+     * @brief Callback API to be triggered on BIOS attribute change.
+     *
+     * Concrete class should implement the API to extract the attribute and its
+     * value from DBus message broadcasted on BIOS attribute change.
+     * The definition should be overridden in concrete class to deal with BIOS
+     * attributes interested in.
+     *
+     * @param[in] i_msg - The callback message.
+     */
+    virtual void biosAttributesCallback(sdbusplus::message_t& i_msg) = 0;
+};
+
+/**
+ * @brief IBM specifc BIOS handler class.
+ */
+class IbmBiosHandler : public BiosHandlerInterface
+{
+  public:
+    /**
+     * @brief Construct a new IBM BIOS Handler object
+     *
+     * This constructor constructs a new IBM BIOS Handler object
+     * @param[in] i_manager - Manager object.
+     */
+    explicit IbmBiosHandler(const std::shared_ptr<Manager>& i_manager) :
+        m_manager(i_manager)
+    {}
+
+    /**
+     * @brief API to back up or restore BIOS attributes.
+     *
+     * The API will read the backed up data from the VPD keyword and based on
+     * its value, either backs up or restores the data.
+     */
+    virtual void backUpOrRestoreBiosAttributes();
+
+    /**
+     * @brief Callback API to be triggered on BIOS attribute change.
+     *
+     * The API to extract the required attribute and its value from DBus message
+     * broadcasted on BIOS attribute change.
+     *
+     * @param[in] i_msg - The callback message.
+     */
+    virtual void biosAttributesCallback(sdbusplus::message_t& i_msg);
+
+  private:
+    /**
+     * @brief API to read given attribute from BIOS table.
+     *
+     * @param[in] attributeName - Attribute to be read.
+     * @return - Bios attribute current value.
+     */
+    types::BiosAttributeCurrentValue
+        readBiosAttribute(const std::string& attributeName);
+
+    /**
+     * @brief API to process "hb_field_core_override" attribute.
+     *
+     * The API checks value stored in VPD. If found default then the BIOS value
+     * is saved to VPD else VPD value is restored in BIOS pending attribute
+     * table.
+     */
+    void processFieldCoreOverride();
+
+    /**
+     * @brief API to save FCO data into VPD.
+     *
+     * @param[in] i_fcoInBios - FCO value.
+     */
+    void saveFcoToVpd(int64_t i_fcoInBios);
+
+    /**
+     * @brief API to save given value to "hb_field_core_override" attribute.
+     *
+     * @param[in] i_fcoVal - FCO value.
+     */
+    void saveFcoToBios(const types::BinaryVector& i_fcoVal);
+
+    /**
+     * @brief API to save AMM data into VPD.
+     *
+     * @param[in] i_memoryMirrorMode - Memory mirror mode value.
+     */
+    void saveAmmToVpd(const std::string& i_memoryMirrorMode);
+
+    /**
+     * @brief API to save given value to "hb_memory_mirror_mode" attribute.
+     *
+     * @param[in] i_ammVal - AMM value.
+     */
+    void saveAmmToBios(const std::string& i_ammVal);
+
+    /**
+     * @brief API to process "hb_memory_mirror_mode" attribute.
+     *
+     * The API checks value stored in VPD. If found default then the BIOS value
+     * is saved to VPD else VPD value is restored in BIOS pending attribute
+     * table.
+     */
+    void processActiveMemoryMirror();
+
+    /**
+     * @brief API to process "pvm_create_default_lpar" attribute.
+     *
+     * The API reads the value from VPD and restore it to the BIOS attribute
+     * in BIOS pending attribute table.
+     */
+    void processCreateDefaultLpar();
+
+    /**
+     * @brief API to save given value to "pvm_create_default_lpar" attribute.
+     *
+     * @param[in] i_createDefaultLparVal - Value to be saved;
+     */
+    void saveCreateDefaultLparToBios(const std::string& i_createDefaultLparVal);
+
+    /**
+     * @brief API to save given value to VPD.
+     *
+     * @param[in] i_createDefaultLparVal - Value to be saved.
+     *
+     */
+    void saveCreateDefaultLparToVpd(const std::string& i_createDefaultLparVal);
+
+    /**
+     * @brief API to process "pvm_clear_nvram" attribute.
+     *
+     * The API reads the value from VPD and restores it to the BIOS pending
+     * attribute table.
+     */
+    void processClearNvram();
+
+    /**
+     * @brief API to save given value to "pvm_clear_nvram" attribute.
+     *
+     * @param[in] i_clearNvramVal - Value to be saved.
+     */
+    void saveClearNvramToBios(const std::string& i_clearNvramVal);
+
+    /**
+     * @brief API to save given value to VPD.
+     *
+     * @param[in] i_clearNvramVal - Value to be saved.
+     */
+    void saveClearNvramToVpd(const std::string& i_clearNvramVal);
+
+    /**
+     * @brief API to process "pvm_keep_and_clear" attribute.
+     *
+     * The API reads the value from VPD and restore it to the BIOS pending
+     * attribute table.
+     */
+    void processKeepAndClear();
+
+    /**
+     * @brief API to save given value to "pvm_keep_and_clear" attribute.
+     *
+     * @param[in] i_KeepAndClearVal - Value to be saved.
+     */
+    void saveKeepAndClearToBios(const std::string& i_KeepAndClearVal);
+
+    /**
+     * @brief API to save given value to VPD.
+     *
+     * @param[in] i_KeepAndClearVal - Value to be saved.
+     */
+    void saveKeepAndClearToVpd(const std::string& i_KeepAndClearVal);
+
+    // const reference to shared pointer to Manager object.
+    const std::shared_ptr<Manager>& m_manager;
+};
+
+/**
+ * @brief A class to operate upon BIOS attributes.
+ *
+ * The class along with specific BIOS handler class(es), provides a feature
+ * where specific BIOS attributes identified by the concrete specific class can
+ * be listened for any change and can be backed up to a desired location or
+ * restored back to the BIOS table.
+ *
+ * To use the feature, "BiosHandlerInterface" should be implemented by a
+ * concrete class and the same should be used to instantiate BiosHandler.
+ *
+ * This class registers call back to listen to PLDM service as it is being used
+ * for reading/writing BIOS attributes.
+ *
+ * The feature can be used in a factory reset scenario where backed up values
+ * can be used to restore BIOS.
+ *
+ */
+template <typename T>
+class BiosHandler
+{
+  public:
+    // deleted APIs
+    BiosHandler() = delete;
+    BiosHandler(const BiosHandler&) = delete;
+    BiosHandler& operator=(const BiosHandler&) = delete;
+    BiosHandler& operator=(BiosHandler&&) = delete;
+    ~BiosHandler() = default;
+
+    /**
+     * @brief Constructor.
+     *
+     * @param[in] i_connection - Asio connection object.
+     * @param[in] i_manager - Manager object.
+     */
+    BiosHandler(
+        const std::shared_ptr<sdbusplus::asio::connection>& i_connection,
+        const std::shared_ptr<Manager>& i_manager) : m_asioConn(i_connection)
+    {
+        m_specificBiosHandler = std::make_shared<T>(i_manager);
+        checkAndListenPldmService();
+    }
+
+  private:
+    /**
+     * @brief API to check if PLDM service is running and run BIOS sync.
+     *
+     * This API checks if the PLDM service is running and if yes it will start
+     * an immediate sync of BIOS attributes. If the service is not running, it
+     * registers a listener to be notified when the service starts so that a
+     * restore can be performed.
+     */
+    void checkAndListenPldmService();
+
+    /**
+     * @brief Register listener for BIOS attribute property change.
+     *
+     * The VPD manager needs to listen for property change of certain BIOS
+     * attributes that are backed in VPD. When the attributes change, the new
+     * value is written back to the VPD keywords that backs them up.
+     */
+    void listenBiosAttributes();
+
+    // Reference to the connection.
+    const std::shared_ptr<sdbusplus::asio::connection>& m_asioConn;
+
+    // shared pointer to specific BIOS handler.
+    std::shared_ptr<T> m_specificBiosHandler;
+};
+} // namespace vpd
diff --git a/vpd-manager/include/constants.hpp b/vpd-manager/include/constants.hpp
new file mode 100644
index 0000000..5faf8da
--- /dev/null
+++ b/vpd-manager/include/constants.hpp
@@ -0,0 +1,196 @@
+#pragma once
+
+#include <cstdint>
+#include <iostream>
+namespace vpd
+{
+namespace constants
+{
+static constexpr auto KEYWORD_SIZE = 2;
+static constexpr auto RECORD_SIZE = 4;
+
+static constexpr uint8_t IPZ_DATA_START = 11;
+static constexpr uint8_t IPZ_DATA_START_TAG = 0x84;
+static constexpr uint8_t IPZ_RECORD_END_TAG = 0x78;
+
+static constexpr uint8_t KW_VPD_DATA_START = 0;
+static constexpr uint8_t KW_VPD_START_TAG = 0x82;
+static constexpr uint8_t KW_VPD_PAIR_START_TAG = 0x84;
+static constexpr uint8_t ALT_KW_VPD_PAIR_START_TAG = 0x90;
+static constexpr uint8_t KW_VPD_END_TAG = 0x78;
+static constexpr uint8_t KW_VAL_PAIR_END_TAG = 0x79;
+static constexpr uint8_t AMM_ENABLED_IN_VPD = 2;
+static constexpr uint8_t AMM_DISABLED_IN_VPD = 1;
+
+static constexpr auto DDIMM_11S_BARCODE_START = 416;
+static constexpr auto DDIMM_11S_BARCODE_START_TAG = "11S";
+static constexpr auto DDIMM_11S_FORMAT_LEN = 3;
+static constexpr auto DDIMM_11S_BARCODE_LEN = 26;
+static constexpr auto PART_NUM_LEN = 7;
+static constexpr auto SERIAL_NUM_LEN = 12;
+static constexpr auto CCIN_LEN = 4;
+static constexpr auto CONVERT_MB_TO_KB = 1024;
+static constexpr auto CONVERT_GB_TO_KB = 1024 * 1024;
+
+static constexpr auto SPD_BYTE_2 = 2;
+static constexpr auto SPD_BYTE_3 = 3;
+static constexpr auto SPD_BYTE_4 = 4;
+static constexpr auto SPD_BYTE_6 = 6;
+static constexpr auto SPD_BYTE_12 = 12;
+static constexpr auto SPD_BYTE_13 = 13;
+static constexpr auto SPD_BYTE_18 = 18;
+static constexpr auto SPD_BYTE_234 = 234;
+static constexpr auto SPD_BYTE_235 = 235;
+static constexpr auto SPD_BYTE_BIT_0_3_MASK = 0x0F;
+static constexpr auto SPD_BYTE_MASK = 0xFF;
+static constexpr auto SPD_MODULE_TYPE_DDIMM = 0x0A;
+static constexpr auto SPD_DRAM_TYPE_DDR5 = 0x12;
+static constexpr auto SPD_DRAM_TYPE_DDR4 = 0x0C;
+
+static constexpr auto JEDEC_SDRAM_CAP_MASK = 0x0F;
+static constexpr auto JEDEC_PRI_BUS_WIDTH_MASK = 0x07;
+static constexpr auto JEDEC_SDRAM_WIDTH_MASK = 0x07;
+static constexpr auto JEDEC_NUM_RANKS_MASK = 0x38;
+static constexpr auto JEDEC_DIE_COUNT_MASK = 0x70;
+static constexpr auto JEDEC_SINGLE_LOAD_STACK = 0x02;
+static constexpr auto JEDEC_SIGNAL_LOADING_MASK = 0x03;
+
+static constexpr auto JEDEC_SDRAMCAP_MULTIPLIER = 256;
+static constexpr auto JEDEC_PRI_BUS_WIDTH_MULTIPLIER = 8;
+static constexpr auto JEDEC_SDRAM_WIDTH_MULTIPLIER = 4;
+static constexpr auto JEDEC_SDRAMCAP_RESERVED = 7;
+static constexpr auto JEDEC_RESERVED_BITS = 3;
+static constexpr auto JEDEC_DIE_COUNT_RIGHT_SHIFT = 4;
+
+static constexpr auto LAST_KW = "PF";
+static constexpr auto POUND_KW = '#';
+static constexpr auto POUND_KW_PREFIX = "PD_";
+static constexpr auto MB_YEAR_END = 4;
+static constexpr auto MB_MONTH_END = 7;
+static constexpr auto MB_DAY_END = 10;
+static constexpr auto MB_HOUR_END = 13;
+static constexpr auto MB_MIN_END = 16;
+static constexpr auto MB_RESULT_LEN = 19;
+static constexpr auto MB_LEN_BYTES = 8;
+static constexpr auto UUID_LEN_BYTES = 16;
+static constexpr auto UUID_TIME_LOW_END = 8;
+static constexpr auto UUID_TIME_MID_END = 13;
+static constexpr auto UUID_TIME_HIGH_END = 18;
+static constexpr auto UUID_CLK_SEQ_END = 23;
+static constexpr auto MAC_ADDRESS_LEN_BYTES = 6;
+static constexpr auto ONE_BYTE = 1;
+static constexpr auto TWO_BYTES = 2;
+
+static constexpr auto VALUE_0 = 0;
+static constexpr auto VALUE_1 = 1;
+static constexpr auto VALUE_2 = 2;
+static constexpr auto VALUE_3 = 3;
+static constexpr auto VALUE_4 = 4;
+static constexpr auto VALUE_5 = 5;
+static constexpr auto VALUE_6 = 6;
+static constexpr auto VALUE_7 = 7;
+static constexpr auto VALUE_8 = 8;
+
+static constexpr auto MASK_BYTE_BITS_01 = 0x03;
+static constexpr auto MASK_BYTE_BITS_345 = 0x38;
+static constexpr auto MASK_BYTE_BITS_012 = 0x07;
+static constexpr auto MASK_BYTE_BITS_567 = 0xE0;
+static constexpr auto MASK_BYTE_BITS_01234 = 0x1F;
+
+static constexpr auto MASK_BYTE_BIT_6 = 0x40;
+static constexpr auto MASK_BYTE_BIT_7 = 0x80;
+
+static constexpr auto SHIFT_BITS_0 = 0;
+static constexpr auto SHIFT_BITS_3 = 3;
+static constexpr auto SHIFT_BITS_5 = 5;
+
+static constexpr auto ASCII_OF_SPACE = 32;
+
+// Size of 8 EQs' in CP00's PG keyword
+static constexpr auto SIZE_OF_8EQ_IN_PG = 24;
+
+// Zero based index position of first EQ in CP00's PG keyword
+static constexpr auto INDEX_OF_EQ0_IN_PG = 97;
+
+constexpr auto systemInvPath = "/xyz/openbmc_project/inventory/system";
+constexpr auto pimPath = "/xyz/openbmc_project/inventory";
+constexpr auto pimIntf = "xyz.openbmc_project.Inventory.Manager";
+constexpr auto ipzVpdInf = "com.ibm.ipzvpd.";
+constexpr auto kwdVpdInf = "com.ibm.ipzvpd.VINI";
+constexpr auto vsysInf = "com.ibm.ipzvpd.VSYS";
+constexpr auto utilInf = "com.ibm.ipzvpd.UTIL";
+constexpr auto vcenInf = "com.ibm.ipzvpd.VCEN";
+constexpr auto kwdCCIN = "CC";
+constexpr auto kwdRG = "RG";
+constexpr auto kwdAMM = "D0";
+constexpr auto kwdClearNVRAM_CreateLPAR = "D1";
+constexpr auto kwdKeepAndClear = "D1";
+constexpr auto kwdFC = "FC";
+constexpr auto kwdTM = "TM";
+constexpr auto kwdSE = "SE";
+constexpr auto recVSYS = "VSYS";
+constexpr auto recVCEN = "VCEN";
+constexpr auto locationCodeInf = "com.ibm.ipzvpd.Location";
+constexpr auto xyzLocationCodeInf =
+    "xyz.openbmc_project.Inventory.Decorator.LocationCode";
+constexpr auto operationalStatusInf =
+    "xyz.openbmc_project.State.Decorator.OperationalStatus";
+constexpr auto enableInf = "xyz.openbmc_project.Object.Enable";
+constexpr auto assetInf = "xyz.openbmc_project.Inventory.Decorator.Asset";
+constexpr auto inventoryItemInf = "xyz.openbmc_project.Inventory.Item";
+constexpr auto pldmServiceName = "xyz.openbmc_project.PLDM";
+constexpr auto pimServiceName = "xyz.openbmc_project.Inventory.Manager";
+constexpr auto biosConfigMgrObjPath =
+    "/xyz/openbmc_project/bios_config/manager";
+constexpr auto biosConfigMgrService = "xyz.openbmc_project.BIOSConfigManager";
+constexpr auto biosConfigMgrInterface =
+    "xyz.openbmc_project.BIOSConfig.Manager";
+constexpr auto objectMapperService = "xyz.openbmc_project.ObjectMapper";
+constexpr auto objectMapperPath = "/xyz/openbmc_project/object_mapper";
+constexpr auto objectMapperInf = "xyz.openbmc_project.ObjectMapper";
+constexpr auto systemVpdInvPath =
+    "/xyz/openbmc_project/inventory/system/chassis/motherboard";
+constexpr auto assetTagInf = "xyz.openbmc_project.Inventory.Decorator.AssetTag";
+constexpr auto hostObjectPath = "/xyz/openbmc_project/state/host0";
+constexpr auto hostInterface = "xyz.openbmc_project.State.Host";
+constexpr auto hostService = "xyz.openbmc_project.State.Host";
+constexpr auto hostRunningState =
+    "xyz.openbmc_project.State.Host.HostState.Running";
+static constexpr auto BD_YEAR_END = 4;
+static constexpr auto BD_MONTH_END = 7;
+static constexpr auto BD_DAY_END = 10;
+static constexpr auto BD_HOUR_END = 13;
+
+constexpr uint8_t UNEXP_LOCATION_CODE_MIN_LENGTH = 4;
+constexpr uint8_t EXP_LOCATION_CODE_MIN_LENGTH = 17;
+static constexpr auto SE_KWD_LENGTH = 7;
+static constexpr auto INVALID_NODE_NUMBER = -1;
+
+static constexpr auto CMD_BUFFER_LENGTH = 256;
+
+// To be explicitly used for string comparision.
+static constexpr auto STR_CMP_SUCCESS = 0;
+
+// Just a random value. Can be adjusted as required.
+static constexpr uint8_t MAX_THREADS = 10;
+
+static constexpr auto FAILURE = -1;
+static constexpr auto SUCCESS = 0;
+
+constexpr auto bmcStateService = "xyz.openbmc_project.State.BMC";
+constexpr auto bmcZeroStateObject = "/xyz/openbmc_project/state/bmc0";
+constexpr auto bmcStateInterface = "xyz.openbmc_project.State.BMC";
+constexpr auto currentBMCStateProperty = "CurrentBMCState";
+constexpr auto bmcReadyState = "xyz.openbmc_project.State.BMC.BMCState.Ready";
+
+static constexpr auto eventLoggingServiceName = "xyz.openbmc_project.Logging";
+static constexpr auto eventLoggingObjectPath = "/xyz/openbmc_project/logging";
+static constexpr auto eventLoggingInterface =
+    "xyz.openbmc_project.Logging.Create";
+
+static constexpr auto systemdService = "org.freedesktop.systemd1";
+static constexpr auto systemdObjectPath = "/org/freedesktop/systemd1";
+static constexpr auto systemdManagerInterface =
+    "org.freedesktop.systemd1.Manager";
+} // namespace constants
+} // namespace vpd
diff --git a/vpd-manager/include/ddimm_parser.hpp b/vpd-manager/include/ddimm_parser.hpp
new file mode 100644
index 0000000..a53ed17
--- /dev/null
+++ b/vpd-manager/include/ddimm_parser.hpp
@@ -0,0 +1,123 @@
+#pragma once
+
+#include "constants.hpp"
+#include "exceptions.hpp"
+#include "logger.hpp"
+#include "parser_interface.hpp"
+#include "types.hpp"
+
+namespace vpd
+{
+/**
+ * @brief Concrete class to implement DDIMM VPD parsing.
+ *
+ * The class inherits ParserInterface interface class and overrides the parser
+ * functionality to implement parsing logic for DDIMM VPD format.
+ */
+class DdimmVpdParser : public ParserInterface
+{
+  public:
+    // Deleted API's
+    DdimmVpdParser() = delete;
+    DdimmVpdParser(const DdimmVpdParser&) = delete;
+    DdimmVpdParser& operator=(const DdimmVpdParser&) = delete;
+    DdimmVpdParser(DdimmVpdParser&&) = delete;
+    DdimmVpdParser& operator=(DdimmVpdParser&&) = delete;
+
+    /**
+     * @brief Defaul destructor.
+     */
+    ~DdimmVpdParser() = default;
+
+    /**
+     * @brief Constructor
+     *
+     * @param[in] i_vpdVector - VPD data.
+     */
+    DdimmVpdParser(const types::BinaryVector& i_vpdVector) :
+        m_vpdVector(i_vpdVector)
+    {
+        if ((constants::DDIMM_11S_BARCODE_START +
+             constants::DDIMM_11S_BARCODE_LEN) > m_vpdVector.size())
+        {
+            throw(DataException("Malformed DDIMM VPD"));
+        }
+    }
+
+    /**
+     * @brief API to parse DDIMM VPD file.
+     *
+     * @return parsed VPD data
+     */
+    virtual types::VPDMapVariant parse() override;
+
+  private:
+    /**
+     * @brief API to read keyword data based on the type DDR4/DDR5.
+     *
+     * Updates the m_parsedVpdMap with read keyword data.
+     * @param[in] i_iterator - iterator to buffer containing VPD
+     */
+    void readKeywords(types::BinaryVector::const_iterator i_iterator);
+
+    /**
+     * @brief API to calculate DDIMM size from DDIMM VPD
+     *
+     * @param[in] i_iterator - iterator to buffer containing VPD
+     * @return calculated size or 0 in case of any error.
+     */
+    size_t getDdimmSize(types::BinaryVector::const_iterator i_iterator);
+
+    /**
+     * @brief This function calculates DDR5 based DDIMM's capacity
+     *
+     * @param[in] i_iterator - iterator to buffer containing VPD
+     * @return calculated size or 0 in case of any error.
+     */
+    size_t
+        getDdr5BasedDdimmSize(types::BinaryVector::const_iterator i_iterator);
+
+    /**
+     * @brief This function calculates DDR4 based DDIMM's capacity
+     *
+     * @param[in] i_iterator - iterator to buffer containing VPD
+     * @return calculated size or 0 in case of any error.
+     */
+    size_t
+        getDdr4BasedDdimmSize(types::BinaryVector::const_iterator i_iterator);
+
+    /**
+     * @brief This function calculates DDR5 based die per package
+     *
+     * @param[in] i_ByteValue - the bit value for calculation
+     * @return die per package value.
+     */
+    uint8_t getDdr5DiePerPackage(uint8_t i_ByteValue);
+
+    /**
+     * @brief This function calculates DDR5 based density per die
+     *
+     * @param[in] i_ByteValue - the bit value for calculation
+     * @return density per die.
+     */
+    uint8_t getDdr5DensityPerDie(uint8_t i_ByteValue);
+
+    /**
+     * @brief This function checks the validity of the bits
+     *
+     * @param[in] i_ByteValue - the byte value with relevant bits
+     * @param[in] i_shift - shifter value to selects needed bits
+     * @param[in] i_minValue - minimum value it can contain
+     * @param[in] i_maxValue - maximum value it can contain
+     * @return true if valid else false.
+     */
+    bool checkValidValue(uint8_t i_ByteValue, uint8_t i_shift,
+                         uint8_t i_minValue, uint8_t i_maxValue);
+
+    // VPD file to be parsed
+    const types::BinaryVector& m_vpdVector;
+
+    // Stores parsed VPD data.
+    types::DdimmVpdMap m_parsedVpdMap{};
+};
+} // namespace vpd
diff --git a/vpd-manager/include/event_logger.hpp b/vpd-manager/include/event_logger.hpp
new file mode 100644
index 0000000..0080be6
--- /dev/null
+++ b/vpd-manager/include/event_logger.hpp
@@ -0,0 +1,170 @@
+#pragma once
+
+#include "constants.hpp"
+#include "types.hpp"
+
+#include <iostream>
+#include <optional>
+#include <string>
+#include <unordered_map>
+
+namespace vpd
+{
+/**
+ * @brief Class for logging events.
+ *
+ * Class handles logging PEL under 'logging' service.
+ * Provide separate async API's for calling out inventory_path, device_path and
+ * i2c bus.
+ */
+class EventLogger
+{
+  public:
+    /**
+     * @brief An API to create a PEL with inventory path callout.
+     *
+     * This API calls an async method to create PEL, and also handles inventory
+     * path callout.
+     *
+     * Note: If inventory path callout info is not provided, it will create a
+     * PEL without any callout. Currently only one callout is handled in this
+     * API.
+     *
+     * @todo: Symbolic FRU and procedure callout needs to be handled in this
+     * API.
+     *
+     * @param[in] i_errorType - Enum to map with event message name.
+     * @param[in] i_severity - Severity of the event.
+     * @param[in] i_callouts - Callout information, list of tuple having
+     * inventory path and priority as input [optional].
+     * @param[in] i_fileName - File name.
+     * @param[in] i_funcName - Function name.
+     * @param[in] i_internalRc - Internal return code.
+     * @param[in] i_description - Error description.
+     * @param[in] i_userData1 - Additional user data [optional].
+     * @param[in] i_userData2 - Additional user data [optional].
+     * @param[in] i_symFru - Symblolic FRU callout data [optional].
+     * @param[in] i_procedure - Procedure callout data [optional].
+     *
+     * @throw exception in case of error.
+     */
+    static void createAsyncPelWithInventoryCallout(
+        const types::ErrorType& i_errorType,
+        const types::SeverityType& i_severity,
+        const std::vector<types::InventoryCalloutData>& i_callouts,
+        const std::string& i_fileName, const std::string& i_funcName,
+        const uint8_t i_internalRc, const std::string& i_description,
+        const std::optional<std::string> i_userData1,
+        const std::optional<std::string> i_userData2,
+        const std::optional<std::string> i_symFru,
+        const std::optional<std::string> i_procedure);
+
+    /**
+     * @brief An API to create a PEL with device path callout.
+     *
+     * @param[in] i_errorType - Enum to map with event message name.
+     * @param[in] i_severity - Severity of the event.
+     * @param[in] i_callouts - Callout information, list of tuple having device
+     * path and error number as input.
+     * @param[in] i_fileName - File name.
+     * @param[in] i_funcName - Function name.
+     * @param[in] i_internalRc - Internal return code.
+     * @param[in] i_userData1 - Additional user data [optional].
+     * @param[in] i_userData2 - Additional user data [optional].
+     */
+    static void createAsyncPelWithI2cDeviceCallout(
+        const types::ErrorType i_errorType,
+        const types::SeverityType i_severity,
+        const std::vector<types::DeviceCalloutData>& i_callouts,
+        const std::string& i_fileName, const std::string& i_funcName,
+        const uint8_t i_internalRc,
+        const std::optional<std::pair<std::string, std::string>> i_userData1,
+        const std::optional<std::pair<std::string, std::string>> i_userData2);
+
+    /**
+     * @brief An API to create a PEL with I2c bus callout.
+     *
+     * @param[in] i_errorType - Enum to map with event message name.
+     * @param[in] i_severity - Severity of the event.
+     * @param[in] i_callouts - Callout information, list of tuple having i2c
+     * bus, i2c address and error number as input.
+     * @param[in] i_fileName - File name.
+     * @param[in] i_funcName - Function name.
+     * @param[in] i_internalRc - Internal return code.
+     * @param[in] i_userData1 - Additional user data [optional].
+     * @param[in] i_userData2 - Additional user data [optional].
+     */
+    static void createAsyncPelWithI2cBusCallout(
+        const types::ErrorType i_errorType,
+        const types::SeverityType i_severity,
+        const std::vector<types::I2cBusCalloutData>& i_callouts,
+        const std::string& i_fileName, const std::string& i_funcName,
+        const uint8_t i_internalRc,
+        const std::optional<std::pair<std::string, std::string>> i_userData1,
+        const std::optional<std::pair<std::string, std::string>> i_userData2);
+
+    /**
+     * @brief An API to create a PEL.
+     *
+     * @param[in] i_errorType - Enum to map with event message name.
+     * @param[in] i_severity - Severity of the event.
+     * @param[in] i_fileName - File name.
+     * @param[in] i_funcName - Function name.
+     * @param[in] i_internalRc - Internal return code.
+     * @param[in] i_description - Error description.
+     * @param[in] i_userData1 - Additional user data [optional].
+     * @param[in] i_userData2 - Additional user data [optional].
+     * @param[in] i_symFru - Symblolic FRU callout data [optional].
+     * @param[in] i_procedure - Procedure callout data [optional].
+     *
+     * @todo: Symbolic FRU and procedure callout needs to be handled in this
+     * API.
+     */
+    static void createAsyncPel(
+        const types::ErrorType& i_errorType,
+        const types::SeverityType& i_severity, const std::string& i_fileName,
+        const std::string& i_funcName, const uint8_t i_internalRc,
+        const std::string& i_description,
+        const std::optional<std::string> i_userData1,
+        const std::optional<std::string> i_userData2,
+        const std::optional<std::string> i_symFru,
+        const std::optional<std::string> i_procedure);
+
+    /**
+     * @brief An API to create PEL.
+     *
+     * This API makes synchronous call to phosphor-logging Create method.
+     *
+     * @param[in] i_errorType - Enum to map with event message name.
+     * @param[in] i_severity - Severity of the event.
+     * @param[in] i_fileName - File name.
+     * @param[in] i_funcName - Function name.
+     * @param[in] i_internalRc - Internal return code.
+     * @param[in] i_description - Error description.
+     * @param[in] i_userData1 - Additional user data [optional].
+     * @param[in] i_userData2 - Additional user data [optional].
+     * @param[in] i_symFru - Symblolic FRU callout data [optional].s
+     * @param[in] i_procedure - Procedure callout data [optional].
+     *
+     * @todo: Symbolic FRU and procedure callout needs to be handled in this
+     * API.
+     */
+    static void createSyncPel(
+        const types::ErrorType& i_errorType,
+        const types::SeverityType& i_severity, const std::string& i_fileName,
+        const std::string& i_funcName, const uint8_t i_internalRc,
+        const std::string& i_description,
+        const std::optional<std::string> i_userData1,
+        const std::optional<std::string> i_userData2,
+        const std::optional<std::string> i_symFru,
+        const std::optional<std::string> i_procedure);
+
+  private:
+    static const std::unordered_map<types::SeverityType, std::string>
+        m_severityMap;
+    static const std::unordered_map<types::ErrorType, std::string>
+        m_errorMsgMap;
+    static const std::unordered_map<types::CalloutPriority, std::string>
+        m_priorityMap;
+};
+} // namespace vpd
diff --git a/vpd-manager/include/exceptions.hpp b/vpd-manager/include/exceptions.hpp
new file mode 100644
index 0000000..a787d08
--- /dev/null
+++ b/vpd-manager/include/exceptions.hpp
@@ -0,0 +1,157 @@
+#pragma once
+
+#include <stdexcept>
+
+namespace vpd
+{
+/** @class Exception
+ * @brief This class inherits std::runtime_error and overrrides "what" method
+ * to return the description of exception.
+ * This class also works as base class for custom exception classes for
+ * VPD repository.
+ */
+class Exception : public std::runtime_error
+{
+  public:
+    // deleted methods
+    Exception() = delete;
+    Exception(const Exception&) = delete;
+    Exception(Exception&&) = delete;
+    Exception& operator=(const Exception&) = delete;
+
+    // default destructor
+    ~Exception() = default;
+
+    /** @brief constructor
+     *
+     *  @param[in] msg - Information w.r.t exception.
+     */
+    explicit Exception(const std::string& msg) :
+        std::runtime_error(msg), m_errMsg(msg)
+    {}
+
+    /** @brief inline method to return exception string.
+     *
+     * This is overridden method of std::runtime class.
+     */
+    inline const char* what() const noexcept override
+    {
+        return m_errMsg.c_str();
+    }
+
+  private:
+    /** @brief string to hold the reason of exception */
+    std::string m_errMsg;
+
+}; // class Exception
+
+/** @class EccException
+ *
+ *  @brief This class extends Exceptions class and define type for ECC related
+ * exception in VPD.
+ */
+class EccException : public Exception
+{
+  public:
+    // deleted methods
+    EccException() = delete;
+    EccException(const EccException&) = delete;
+    EccException(EccException&&) = delete;
+    EccException& operator=(const EccException&) = delete;
+
+    // default destructor
+    ~EccException() = default;
+
+    /** @brief constructor
+     *
+     *  @param[in] msg - Information w.r.t exception.
+     */
+    explicit EccException(const std::string& msg) : Exception(msg) {}
+
+}; // class EccException
+
+/** @class DataException
+ *
+ * @brief This class extends Exceptions class and define type for data related
+ * exception in VPD
+ */
+class DataException : public Exception
+{
+  public:
+    // deleted methods
+    DataException() = delete;
+    DataException(const DataException&) = delete;
+    DataException(DataException&&) = delete;
+    DataException& operator=(const DataException&) = delete;
+
+    // default destructor
+    ~DataException() = default;
+
+    /** @brief constructor
+     *
+     *  @param[in] msg - string to define exception
+     */
+    explicit DataException(const std::string& msg) : Exception(msg) {}
+
+}; // class DataException
+
+class JsonException : public Exception
+{
+  public:
+    // deleted methods
+    JsonException() = delete;
+    JsonException(const JsonException&) = delete;
+    JsonException(JsonException&&) = delete;
+    JsonException& operator=(const JsonException&) = delete;
+
+    // default destructor
+    ~JsonException() = default;
+
+    /** @brief constructor
+     *  @param[in] msg - Information w.r.t. exception.
+     *  @param[in] path - Json path
+     */
+    JsonException(const std::string& msg, const std::string& path) :
+        Exception(msg), m_jsonPath(path)
+    {}
+
+    /** @brief Json path getter method.
+     *
+     *  @return - Json path
+     */
+    inline std::string getJsonPath() const
+    {
+        return m_jsonPath;
+    }
+
+  private:
+    /** To hold the path of Json that failed*/
+    std::string m_jsonPath;
+
+}; // class JSonException
+
+/** @class GpioException
+ *  @brief Custom handler for GPIO exception.
+ *
+ *  This class extends Exceptions class and define
+ *  type for GPIO related exception in VPD.
+ */
+class GpioException : public Exception
+{
+  public:
+    // deleted methods
+    GpioException() = delete;
+    GpioException(const GpioException&) = delete;
+    GpioException(GpioException&&) = delete;
+    GpioException& operator=(const GpioException&) = delete;
+
+    // default destructor
+    ~GpioException() = default;
+
+    /** @brief constructor
+     *  @param[in] msg - string to define exception
+     */
+    explicit GpioException(const std::string& msg) : Exception(msg) {}
+};
+
+} // namespace vpd
diff --git a/vpd-manager/include/gpio_monitor.hpp b/vpd-manager/include/gpio_monitor.hpp
new file mode 100644
index 0000000..476a31d
--- /dev/null
+++ b/vpd-manager/include/gpio_monitor.hpp
@@ -0,0 +1,142 @@
+#pragma once
+
+#include "worker.hpp"
+
+#include <boost/asio/steady_timer.hpp>
+#include <nlohmann/json.hpp>
+#include <sdbusplus/asio/connection.hpp>
+
+#include <vector>
+
+namespace vpd
+{
+/**
+ * @brief class for GPIO event handling.
+ *
+ * Responsible for detecting events and handling them. It continuously
+ * monitors the presence of the FRU. If it detects any change, performs
+ * deletion of FRU VPD if FRU is not present, otherwise performs VPD
+ * collection if FRU gets added.
+ */
+class GpioEventHandler
+{
+  public:
+    GpioEventHandler() = delete;
+    ~GpioEventHandler() = default;
+    GpioEventHandler(const GpioEventHandler&) = delete;
+    GpioEventHandler& operator=(const GpioEventHandler&) = delete;
+    GpioEventHandler(GpioEventHandler&&) = delete;
+    GpioEventHandler& operator=(GpioEventHandler&&) = delete;
+
+    /**
+     * @brief Constructor
+     *
+     * @param[in] i_fruPath - EEPROM path of the FRU.
+     * @param[in] i_worker - pointer to the worker object.
+     * @param[in] i_ioContext - pointer to the io context object
+     */
+    GpioEventHandler(
+        const std::string i_fruPath, const std::shared_ptr<Worker>& i_worker,
+        const std::shared_ptr<boost::asio::io_context>& i_ioContext) :
+        m_fruPath(i_fruPath), m_worker(i_worker)
+    {
+        setEventHandlerForGpioPresence(i_ioContext);
+    }
+
+  private:
+    /**
+     * @brief API to take action based on GPIO presence pin value.
+     *
+     * This API takes action based on the change in the presence pin value.
+     * It performs deletion of FRU VPD if FRU is not present, otherwise performs
+     * VPD collection if FRU gets added.
+     *
+     * @param[in] i_isFruPresent - Holds the present status of the FRU.
+     */
+    void handleChangeInGpioPin(const bool& i_isFruPresent);
+
+    /**
+     * @brief An API to set event handler for FRUs GPIO presence.
+     *
+     * An API to set timer to call event handler to detect GPIO presence
+     * of the FRU.
+     *
+     * @param[in] i_ioContext - pointer to io context object
+     */
+    void setEventHandlerForGpioPresence(
+        const std::shared_ptr<boost::asio::io_context>& i_ioContext);
+
+    /**
+     * @brief API to handle timer expiry.
+     *
+     * This API handles timer expiry and checks on the GPIO presence state,
+     * takes action if there is any change in the GPIO presence value.
+     *
+     * @param[in] i_errorCode - Error Code
+     * @param[in] i_timerObj - Pointer to timer Object.
+     */
+    void handleTimerExpiry(
+        const boost::system::error_code& i_errorCode,
+        const std::shared_ptr<boost::asio::steady_timer>& i_timerObj);
+
+    const std::string m_fruPath;
+
+    const std::shared_ptr<Worker>& m_worker;
+
+    // Preserves the GPIO pin value to compare. Default value is false.
+    bool m_prevPresencePinValue = false;
+};
+
+class GpioMonitor
+{
+  public:
+    GpioMonitor() = delete;
+    ~GpioMonitor() = default;
+    GpioMonitor(const GpioMonitor&) = delete;
+    GpioMonitor& operator=(const GpioMonitor&) = delete;
+    GpioMonitor(GpioMonitor&&) = delete;
+    GpioMonitor& operator=(GpioMonitor&&) = delete;
+
+    /**
+     * @brief constructor
+     *
+     * @param[in] i_sysCfgJsonObj - System config JSON Object.
+     * @param[in] i_worker - pointer to the worker object.
+     * @param[in] i_ioContext - pointer to IO context object.
+     */
+    GpioMonitor(const nlohmann::json i_sysCfgJsonObj,
+                const std::shared_ptr<Worker>& i_worker,
+                const std::shared_ptr<boost::asio::io_context>& i_ioContext) :
+        m_sysCfgJsonObj(i_sysCfgJsonObj)
+    {
+        if (!m_sysCfgJsonObj.empty())
+        {
+            initHandlerForGpio(i_ioContext, i_worker);
+        }
+        else
+        {
+            throw std::runtime_error(
+                "Gpio Monitoring can't be instantiated with empty config JSON");
+        }
+    }
+
+  private:
+    /**
+     * @brief API to instantiate GpioEventHandler for GPIO pins.
+     *
+     * This API will extract the GPIO information from system config JSON
+     * and instantiate event handler for GPIO pins.
+     *
+     * @param[in] i_ioContext - Pointer to IO context object.
+     * @param[in] i_worker - Pointer to worker class.
+     */
+    void initHandlerForGpio(
+        const std::shared_ptr<boost::asio::io_context>& i_ioContext,
+        const std::shared_ptr<Worker>& i_worker);
+
+    // Array of event handlers for all the attachable FRUs.
+    std::vector<std::shared_ptr<GpioEventHandler>> m_gpioEventHandlerObjects;
+
+    const nlohmann::json& m_sysCfgJsonObj;
+};
+} // namespace vpd
diff --git a/vpd-manager/include/ipz_parser.hpp b/vpd-manager/include/ipz_parser.hpp
new file mode 100644
index 0000000..2d50ddd
--- /dev/null
+++ b/vpd-manager/include/ipz_parser.hpp
@@ -0,0 +1,273 @@
+#pragma once
+
+#include "logger.hpp"
+#include "parser_interface.hpp"
+#include "types.hpp"
+
+#include <fstream>
+#include <string_view>
+
+namespace vpd
+{
+/**
+ * @brief Concrete class to implement IPZ VPD parsing.
+ *
+ * The class inherits ParserInterface interface class and overrides the parser
+ * functionality to implement parsing logic for IPZ VPD format.
+ */
+class IpzVpdParser : public ParserInterface
+{
+  public:
+    // Deleted APIs
+    IpzVpdParser() = delete;
+    IpzVpdParser(const IpzVpdParser&) = delete;
+    IpzVpdParser& operator=(const IpzVpdParser&) = delete;
+    IpzVpdParser(IpzVpdParser&&) = delete;
+    IpzVpdParser& operator=(IpzVpdParser&&) = delete;
+
+    /**
+     * @brief Constructor.
+     *
+     * @param[in] vpdVector - VPD data.
+     * @param[in] vpdFilePath - Path to VPD EEPROM.
+     * @param[in] vpdStartOffset - Offset from where VPD starts in the file.
+     * Defaulted to 0.
+     */
+    IpzVpdParser(const types::BinaryVector& vpdVector,
+                 const std::string& vpdFilePath, size_t vpdStartOffset = 0) :
+        m_vpdVector(vpdVector), m_vpdFilePath(vpdFilePath),
+        m_vpdStartOffset(vpdStartOffset)
+    {
+        try
+        {
+            m_vpdFileStream.exceptions(
+                std::ifstream::badbit | std::ifstream::failbit);
+            m_vpdFileStream.open(vpdFilePath, std::ios::in | std::ios::out |
+                                                  std::ios::binary);
+        }
+        catch (const std::fstream::failure& e)
+        {
+            logging::logMessage(e.what());
+        }
+    }
+
+    /**
+     * @brief Defaul destructor.
+     */
+    ~IpzVpdParser() = default;
+
+    /**
+     * @brief API to parse IPZ VPD file.
+     *
+     * Note: Caller needs to check validity of the map returned. Throws
+     * exception in certain situation, needs to be handled accordingly.
+     *
+     * @return parsed VPD data.
+     */
+    virtual types::VPDMapVariant parse() override;
+
+    /**
+     * @brief API to check validity of VPD header.
+     *
+     * Note: The API throws exception in case of any failure or malformed VDP.
+     *
+     * @param[in] itrToVPD - Iterator to the beginning of VPD file.
+     * Don't change the parameter to reference as movement of passsed iterator
+     * to an offset is not required after header check.
+     */
+    void checkHeader(types::BinaryVector::const_iterator itrToVPD);
+
+    /**
+     * @brief API to read keyword's value from hardware
+     *
+     * @param[in] i_paramsToReadData - Data required to perform read
+     *
+     * @throw
+     * sdbusplus::xyz::openbmc_project::Common::Device::Error::ReadFailure.
+     *
+     * @return On success return the value read. On failure throw exception.
+     */
+    types::DbusVariantType
+        readKeywordFromHardware(const types::ReadVpdParams i_paramsToReadData);
+
+    /**
+     * @brief API to write keyword's value on hardware.
+     *
+     * @param[in] i_paramsToWriteData - Data required to perform write.
+     *
+     * @throw sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument.
+     * @throw sdbusplus::xyz::openbmc_project::Common::Error::NotAllowed.
+     * @throw DataException
+     * @throw EccException
+     *
+     *
+     * @return On success returns number of bytes written on hardware, On
+     * failure throws exception.
+     */
+    int writeKeywordOnHardware(const types::WriteVpdParams i_paramsToWriteData);
+
+  private:
+    /**
+     * @brief Check ECC of VPD header.
+     *
+     * @return true/false based on check result.
+     */
+    bool vhdrEccCheck();
+
+    /**
+     * @brief Check ECC of VTOC.
+     *
+     * @return true/false based on check result.
+     */
+    bool vtocEccCheck();
+
+    /**
+     * @brief Check ECC of a record.
+     *
+     * Note: Throws exception in case of failure. Caller need to handle as
+     * required.
+     *
+     * @param[in] iterator - Iterator to the record.
+     * @return success/failre
+     */
+    bool recordEccCheck(types::BinaryVector::const_iterator iterator);
+
+    /**
+     * @brief API to read VTOC record.
+     *
+     * The API reads VTOC record and returns the length of PT keyword.
+     *
+     * Note: Throws exception in case of any error. Caller need to handle as
+     * required.
+     *
+     * @param[in] itrToVPD - Iterator to begining of VPD data.
+     * @return Length of PT keyword.
+     */
+    auto readTOC(types::BinaryVector::const_iterator& itrToVPD);
+
+    /**
+     * @brief API to read PT record.
+     *
+     * Note: Throws exception in case ECC check fails.
+     *
+     * @param[in] itrToPT - Iterator to PT record in VPD vector.
+     * @param[in] ptLength - length of the PT record.
+     * @return List of record's offset.
+     */
+    types::RecordOffsetList readPT(types::BinaryVector::const_iterator& itrToPT,
+                                   auto ptLength);
+
+    /**
+     * @brief API to read keyword data based on its encoding type.
+     *
+     * @param[in] kwdName - Name of the keyword.
+     * @param[in] kwdDataLength - Length of keyword data.
+     * @param[in] itrToKwdData - Iterator to start of keyword data.
+     * @return keyword data, empty otherwise.
+     */
+    std::string readKwData(std::string_view kwdName, std::size_t kwdDataLength,
+                           types::BinaryVector::const_iterator itrToKwdData);
+
+    /**
+     * @brief API to read keyword and its value under a record.
+     *
+     * @param[in] iterator - pointer to the start of keywords under the record.
+     * @return keyword-value map of keywords under that record.
+     */
+    types::IPZVpdMap::mapped_type
+        readKeywords(types::BinaryVector::const_iterator& itrToKwds);
+
+    /**
+     * @brief API to process a record.
+     *
+     * @param[in] recordOffset - Offset of the record in VPD.
+     */
+    void processRecord(auto recordOffset);
+
+    /**
+     * @brief Get keyword's value from record
+     *
+     * @param[in] i_record - Record's name
+     * @param[in] i_keyword - Keyword's name
+     * @param[in] i_recordDataOffset - Record's offset value
+     *
+     * @throw std::runtime_error
+     *
+     * @return On success return bytes read, on failure throws error.
+     */
+    types::BinaryVector getKeywordValueFromRecord(
+        const types::Record& i_recordName, const types::Keyword& i_keywordName,
+        const types::RecordOffset& i_recordDataOffset);
+
+    /**
+     * @brief Get record's details from VTOC's PT keyword value
+     *
+     * This API parses through VTOC's PT keyword value and returns the given
+     * record's offset, record's length, ECC offset and ECC length.
+     *
+     * @param[in] i_record - Record's name.
+     * @param[in] i_vtocOffset - Offset to VTOC record
+     *
+     * @return On success return record's details, on failure return empty
+     * buffer.
+     */
+    types::RecordData
+        getRecordDetailsFromVTOC(const types::Record& l_recordName,
+                                 const types::RecordOffset& i_vtocOffset);
+
+    /**
+     * @brief API to update record's ECC
+     *
+     * This API is required to update the record's ECC based on the record's
+     * current data.
+     *
+     * @param[in] i_recordDataOffset - Record's data offset
+     * @param[in] i_recordDataLength - Record's data length
+     * @param[in] i_recordECCOffset - Record's ECC offset
+     * @param[in] i_recordECCLength - Record's ECC length
+     * @param[in,out] io_vpdVector - FRU VPD in vector to update record's ECC.
+     *
+     * @throw EccException
+     */
+    void updateRecordECC(const auto& i_recordDataOffset,
+                         const auto& i_recordDataLength,
+                         const auto& i_recordECCOffset,
+                         size_t i_recordECCLength,
+                         types::BinaryVector& io_vpdVector);
+
+    /**
+     * @brief API to set record's keyword's value on hardware.
+     *
+     * @param[in] i_recordName - Record name.
+     * @param[in] i_keywordName - Keyword name.
+     * @param[in] i_keywordData - Keyword data.
+     * @param[in] i_recordDataOffset - Offset to record's data.
+     * @param[in,out] io_vpdVector - FRU VPD in vector to read and write
+     * keyword's value.
+     *
+     * @throw DataException
+     *
+     * @return On success returns number of bytes set. On failure returns -1.
+     */
+    int setKeywordValueInRecord(const types::Record& i_recordName,
+                                const types::Keyword& i_keywordName,
+                                const types::BinaryVector& i_keywordData,
+                                const types::RecordOffset& i_recordDataOffset,
+                                types::BinaryVector& io_vpdVector);
+
+    // Holds VPD data.
+    const types::BinaryVector& m_vpdVector;
+
+    // stores parsed VPD data.
+    types::IPZVpdMap m_parsedVPDMap{};
+
+    // Holds the VPD file path
+    const std::string& m_vpdFilePath;
+
+    // Stream to the VPD file. Required to correct ECC
+    std::fstream m_vpdFileStream;
+
+    // VPD start offset. Required for ECC correction.
+    size_t m_vpdStartOffset = 0;
+};
+} // namespace vpd
diff --git a/vpd-manager/include/isdimm_parser.hpp b/vpd-manager/include/isdimm_parser.hpp
new file mode 100644
index 0000000..091285c
--- /dev/null
+++ b/vpd-manager/include/isdimm_parser.hpp
@@ -0,0 +1,150 @@
+#pragma once
+
+#include "parser_interface.hpp"
+#include "types.hpp"
+
+#include <string_view>
+
+namespace vpd
+{
+/**
+ * @brief Concrete class to implement JEDEC SPD parsing.
+ *
+ * The class inherits ParserInterface interface class and overrides the parser
+ * functionality to implement parsing logic for JEDEC SPD format.
+ */
+class JedecSpdParser : public ParserInterface
+{
+  public:
+    // Deleted API's
+    JedecSpdParser() = delete;
+    JedecSpdParser(const JedecSpdParser&) = delete;
+    JedecSpdParser& operator=(const JedecSpdParser&) = delete;
+    JedecSpdParser(JedecSpdParser&&) = delete;
+    JedecSpdParser& operator=(JedecSpdParser&&) = delete;
+    ~JedecSpdParser() = default;
+
+    /**
+     * @brief Constructor
+     *
+     * @param[in] i_spdVector - JEDEC SPD data.
+     */
+    explicit JedecSpdParser(const types::BinaryVector& i_spdVector) :
+        m_memSpd(i_spdVector)
+    {}
+
+    /**
+     * @brief Parse the memory SPD binary data.
+     *
+     * Collects and emplace the keyword-value pairs in map.
+     *
+     * @return map of keyword:value
+     */
+    types::VPDMapVariant parse();
+
+  private:
+    /**
+     * @brief An API to read keywords.
+     *
+     * @param[in] i_iterator - iterator to buffer containing SPD
+     * @return- map of kwd:value
+     */
+    types::JedecSpdMap
+        readKeywords(types::BinaryVector::const_iterator& i_iterator);
+
+    /**
+     * @brief This function calculates DIMM size from DDR4 SPD
+     *
+     * @param[in] i_iterator - iterator to buffer containing SPD
+     * @return calculated size or 0 in case of any error.
+     */
+    auto getDDR4DimmCapacity(types::BinaryVector::const_iterator& i_iterator);
+
+    /**
+     * @brief This function calculates part number from DDR4 SPD
+     *
+     * @param[in] i_iterator - iterator to buffer containing SPD
+     * @return calculated part number or a default value.
+     */
+    std::string_view
+        getDDR4PartNumber(types::BinaryVector::const_iterator& i_iterator);
+
+    /**
+     * @brief This function calculates serial number from DDR4 SPD
+     *
+     * @param[in] i_iterator - iterator to buffer containing SPD
+     * @return calculated serial number or a default value.
+     */
+    std::string
+        getDDR4SerialNumber(types::BinaryVector::const_iterator& i_iterator);
+
+    /**
+     * @brief This function allocates FRU number based on part number
+     *
+     * Mappings for FRU number from calculated part number is used
+     * for DDR4 ISDIMM.
+     *
+     * @param[in] i_partNumber - part number of the DIMM
+     * @param[in] i_iterator - iterator to buffer containing SPD
+     * @return allocated FRU number or a default value
+     */
+    std::string_view
+        getDDR4FruNumber(const std::string& i_partNumber,
+                         types::BinaryVector::const_iterator& i_iterator);
+
+    /**
+     * @brief This function allocates CCIN based on part number for DDR4 SPD
+     *
+     * @param[in] i_partNumber - part number of the DIMM
+     * @return allocated CCIN or a default value.
+     */
+    std::string_view getDDR4CCIN(const std::string& i_partNumber);
+
+    /**
+     * @brief This function calculates DIMM size from DDR5 SPD
+     *
+     * @param[in] i_iterator - iterator to buffer containing SPD
+     * @return calculated size or 0 in case of any error.
+     */
+    auto getDDR5DimmCapacity(types::BinaryVector::const_iterator& i_iterator);
+
+    /**
+     * @brief This function calculates part number from DDR5 SPD
+     *
+     * @param[in] i_iterator - iterator to buffer containing SPD
+     * @return calculated part number or a default value.
+     */
+    auto getDDR5PartNumber(types::BinaryVector::const_iterator& i_iterator);
+
+    /**
+     * @brief This function calculates serial number from DDR5 SPD
+     *
+     * @param[in] i_iterator - iterator to buffer containing SPD
+     * @return calculated serial number.
+     */
+    auto getDDR5SerialNumber(types::BinaryVector::const_iterator& i_iterator);
+
+    /**
+     * @brief This function allocates FRU number based on part number
+     *
+     * Mappings for FRU number from calculated part number is used
+     * for DDR5 ISDIMM.
+     *
+     * @param[in] i_partNumber - part number of the DIMM
+     * @return allocated FRU number.
+     */
+    auto getDDR5FruNumber(const std::string& i_partNumber);
+
+    /**
+     * @brief This function allocates CCIN based on part number for DDR5 SPD
+     *
+     * @param[in] i_partNumber - part number of the DIMM
+     * @return allocated CCIN.
+     */
+    auto getDDR5CCIN(const std::string& i_partNumber);
+
+    // SPD file to be parsed
+    const types::BinaryVector& m_memSpd;
+};
+
+} // namespace vpd
diff --git a/vpd-manager/include/keyword_vpd_parser.hpp b/vpd-manager/include/keyword_vpd_parser.hpp
new file mode 100644
index 0000000..ae30a34
--- /dev/null
+++ b/vpd-manager/include/keyword_vpd_parser.hpp
@@ -0,0 +1,97 @@
+#pragma once
+
+#include "parser_interface.hpp"
+#include "types.hpp"
+
+namespace vpd
+{
+
+/**
+ * @brief Concrete class to implement Keyword VPD parsing
+ *
+ * The class inherits ParserInterface class and overrides the parser
+ * functionality to implement parsing logic for Keyword VPD format.
+ */
+class KeywordVpdParser : public ParserInterface
+{
+  public:
+    KeywordVpdParser() = delete;
+    KeywordVpdParser(const KeywordVpdParser&) = delete;
+    KeywordVpdParser(KeywordVpdParser&&) = delete;
+    ~KeywordVpdParser() = default;
+
+    /**
+     * @brief Constructor
+     *
+     * @param kwVpdVector - move it to object's m_keywordVpdVector
+     */
+    KeywordVpdParser(const types::BinaryVector& kwVpdVector) :
+        m_keywordVpdVector(kwVpdVector),
+        m_vpdIterator(m_keywordVpdVector.begin())
+    {}
+
+    /**
+     * @brief A wrapper function to parse the keyword VPD binary data.
+     *
+     * It validates certain tags and checksum data, calls helper function
+     * to parse and emplace the data as keyword-value pairs in KeywordVpdMap.
+     *
+     * @throw DataException - VPD is not valid
+     * @return map of keyword:value
+     */
+    types::VPDMapVariant parse();
+
+  private:
+    /**
+     * @brief Parse the VPD data and emplace them as pair into the Map.
+     *
+     * @throw DataException - VPD data size is 0, check VPD
+     * @return map of keyword:value
+     */
+    types::KeywordVpdMap populateVpdMap();
+
+    /**
+     * @brief Validate checksum.
+     *
+     * Finding the 2's complement of sum of all the
+     * keywords,values and large resource identifier string.
+     *
+     * @param[in] i_checkSumStart - VPD iterator pointing at checksum start
+     * value
+     * @param[in] i_checkSumEnd - VPD iterator pointing at checksum end value
+     * @throw DataException - checksum invalid, check VPD
+     */
+    void validateChecksum(types::BinaryVector::const_iterator i_checkSumStart,
+                          types::BinaryVector::const_iterator i_checkSumEnd);
+
+    /**
+     * @brief It reads 2 bytes from current VPD pointer
+     *
+     * @return 2 bytes of VPD data
+     */
+    inline size_t getKwDataSize()
+    {
+        return (*(m_vpdIterator + 1) << 8 | *m_vpdIterator);
+    }
+
+    /**
+     * @brief Check for given number of bytes validity
+     *
+     * Check if number of elements from (begining of the vector) to (iterator +
+     * numberOfBytes) is lesser than or equal to the total no.of elements in
+     * the vector. This check is performed before advancement of the iterator.
+     *
+     * @param[in] numberOfBytes - no.of positions the iterator is going to be
+     * iterated
+     *
+     * @throw DataException - Truncated VPD data, check VPD.
+     */
+    void checkNextBytesValidity(uint8_t numberOfBytes);
+
+    /*Vector of keyword VPD data*/
+    const types::BinaryVector& m_keywordVpdVector;
+
+    /*Iterator to VPD data*/
+    types::BinaryVector::const_iterator m_vpdIterator;
+};
+} // namespace vpd
diff --git a/vpd-manager/include/logger.hpp b/vpd-manager/include/logger.hpp
new file mode 100644
index 0000000..a4160c1
--- /dev/null
+++ b/vpd-manager/include/logger.hpp
@@ -0,0 +1,26 @@
+#pragma once
+
+#include <iostream>
+#include <source_location>
+#include <string_view>
+
+namespace vpd
+{
+/**
+ * @brief The namespace defines logging related methods for VPD.
+ */
+namespace logging
+{
+
+/**
+ * @brief An api to log message.
+ * This API should be called to log message. It will auto append information
+ * like file name, line and function name to the message being logged.
+ *
+ * @param[in] message - Information that we want  to log.
+ * @param[in] location - Object of source_location class.
+ */
+void logMessage(std::string_view message, const std::source_location& location =
+                                              std::source_location::current());
+} // namespace logging
+} // namespace vpd
diff --git a/vpd-manager/include/manager.hpp b/vpd-manager/include/manager.hpp
new file mode 100644
index 0000000..cb64123
--- /dev/null
+++ b/vpd-manager/include/manager.hpp
@@ -0,0 +1,300 @@
+#pragma once
+
+#include "constants.hpp"
+#include "gpio_monitor.hpp"
+#include "types.hpp"
+#include "worker.hpp"
+
+#include <sdbusplus/asio/object_server.hpp>
+
+namespace vpd
+{
+/**
+ * @brief Class to manage VPD processing.
+ *
+ * The class is responsible to implement methods to manage VPD on the system.
+ * It also implements methods to be exposed over D-Bus required to access/edit
+ * VPD data.
+ */
+class Manager
+{
+  public:
+    /**
+     * List of deleted methods.
+     */
+    Manager(const Manager&) = delete;
+    Manager& operator=(const Manager&) = delete;
+    Manager(Manager&&) = delete;
+
+    /**
+     * @brief Constructor.
+     *
+     * @param[in] ioCon - IO context.
+     * @param[in] iFace - interface to implement.
+     * @param[in] connection - Dbus Connection.
+     */
+    Manager(const std::shared_ptr<boost::asio::io_context>& ioCon,
+            const std::shared_ptr<sdbusplus::asio::dbus_interface>& iFace,
+            const std::shared_ptr<sdbusplus::asio::connection>& asioConnection);
+
+    /**
+     * @brief Destructor.
+     */
+    ~Manager() = default;
+
+    /**
+     * @brief Update keyword value.
+     *
+     * This API is used to update keyword value on the given input path and its
+     * redundant path(s) if any taken from system config JSON.
+     *
+     * To update IPZ type VPD, input parameter for writing should be in the form
+     * of (Record, Keyword, Value). Eg: ("VINI", "SN", {0x01, 0x02, 0x03}).
+     *
+     * To update Keyword type VPD, input parameter for writing should be in the
+     * form of (Keyword, Value). Eg: ("PE", {0x01, 0x02, 0x03}).
+     *
+     * @param[in] i_vpdPath - Path (inventory object path/FRU EEPROM path).
+     * @param[in] i_paramsToWriteData - Input details.
+     *
+     * @return On success returns number of bytes written, on failure returns
+     * -1.
+     */
+    int updateKeyword(const types::Path i_vpdPath,
+                      const types::WriteVpdParams i_paramsToWriteData);
+
+    /**
+     * @brief Update keyword value on hardware.
+     *
+     * This API is used to update keyword value on hardware. Updates only on the
+     * given input hardware path, does not look for corresponding redundant or
+     * primary path against the given path. To update corresponding paths, make
+     * separate call with respective path.
+     *
+     * To update IPZ type VPD, input parameter for writing should be in the form
+     * of (Record, Keyword, Value). Eg: ("VINI", "SN", {0x01, 0x02, 0x03}).
+     *
+     * To update Keyword type VPD, input parameter for writing should be in the
+     * form of (Keyword, Value). Eg: ("PE", {0x01, 0x02, 0x03}).
+     *
+     * @param[in] i_fruPath - EEPROM path of the FRU.
+     * @param[in] i_paramsToWriteData - Input details.
+     *
+     * @return On success returns number of bytes written, on failure returns
+     * -1.
+     */
+    int updateKeywordOnHardware(
+        const types::Path i_fruPath,
+        const types::WriteVpdParams i_paramsToWriteData) noexcept;
+
+    /**
+     * @brief Read keyword value.
+     *
+     * API can be used to read VPD keyword from the given input path.
+     *
+     * To read keyword of type IPZ, input parameter for reading should be in the
+     * form of (Record, Keyword). Eg: ("VINI", "SN").
+     *
+     * To read keyword from keyword type VPD, just keyword name has to be
+     * supplied in the input parameter. Eg: ("SN").
+     *
+     * @param[in] i_fruPath - EEPROM path.
+     * @param[in] i_paramsToReadData - Input details.
+     *
+     * @throw
+     * sdbusplus::xyz::openbmc_project::Common::Device::Error::ReadFailure.
+     *
+     * @return On success returns the read value in variant of array of bytes.
+     * On failure throws exception.
+     */
+    types::DbusVariantType
+        readKeyword(const types::Path i_fruPath,
+                    const types::ReadVpdParams i_paramsToReadData);
+
+    /**
+     * @brief Collect single FRU VPD
+     * API can be used to perform VPD collection for the given FRU, only if the
+     * current state of the system matches with the state at which the FRU is
+     * allowed for VPD recollection.
+     *
+     * @param[in] i_dbusObjPath - D-bus object path
+     */
+    void collectSingleFruVpd(
+        const sdbusplus::message::object_path& i_dbusObjPath);
+
+    /**
+     * @brief Delete single FRU VPD
+     * API can be used to perform VPD deletion for the given FRU.
+     *
+     * @param[in] i_dbusObjPath - D-bus object path
+     */
+    void deleteSingleFruVpd(
+        const sdbusplus::message::object_path& i_dbusObjPath);
+
+    /**
+     * @brief Get expanded location code.
+     *
+     * API to get expanded location code from the unexpanded location code.
+     *
+     * @param[in] i_unexpandedLocationCode - Unexpanded location code.
+     * @param[in] i_nodeNumber - Denotes the node in case of a multi-node
+     * configuration, defaulted to zero incase of single node system.
+     *
+     * @throw xyz.openbmc_project.Common.Error.InvalidArgument for
+     * invalid argument.
+     *
+     * @return Location code of the FRU.
+     */
+    std::string getExpandedLocationCode(
+        const std::string& i_unexpandedLocationCode,
+        [[maybe_unused]] const uint16_t i_nodeNumber = 0);
+
+    /**
+     * @brief Get D-Bus object path of FRUs from expanded location code.
+     *
+     * An API to get list of FRU D-Bus object paths for a given expanded
+     * location code.
+     *
+     * @param[in] i_expandedLocationCode - Expanded location code.
+     *
+     * @throw xyz.openbmc_project.Common.Error.InvalidArgument for
+     * invalid argument.
+     *
+     * @return List of FRUs D-Bus object paths for the given location code.
+     */
+    types::ListOfPaths getFrusByExpandedLocationCode(
+        const std::string& i_expandedLocationCode);
+
+    /**
+     * @brief Get D-Bus object path of FRUs from unexpanded location code.
+     *
+     * An API to get list of FRU D-Bus object paths for a given unexpanded
+     * location code.
+     *
+     * @param[in] i_unexpandedLocationCode - Unexpanded location code.
+     * @param[in] i_nodeNumber - Denotes the node in case of a multi-node
+     * configuration, defaulted to zero incase of single node system.
+     *
+     * @throw xyz.openbmc_project.Common.Error.InvalidArgument for
+     * invalid argument.
+     *
+     * @return List of FRUs D-Bus object paths for the given location code.
+     */
+    types::ListOfPaths getFrusByUnexpandedLocationCode(
+        const std::string& i_unexpandedLocationCode,
+        [[maybe_unused]] const uint16_t i_nodeNumber = 0);
+
+    /**
+     * @brief Get Hardware path
+     * API can be used to get EEPROM path for the given inventory path.
+     *
+     * @param[in] i_dbusObjPath - D-bus object path
+     *
+     * @return Corresponding EEPROM path.
+     */
+    std::string getHwPath(const sdbusplus::message::object_path& i_dbusObjPath);
+
+    /**
+     * @brief  Perform VPD recollection
+     * This api will trigger parser to perform VPD recollection for FRUs that
+     * can be replaced at standby.
+     */
+    void performVpdRecollection();
+
+    /**
+     * @brief Get unexpanded location code.
+     *
+     * An API to get unexpanded location code and node number from expanded
+     * location code.
+     *
+     * @param[in] i_expandedLocationCode - Expanded location code.
+     *
+     * @throw xyz.openbmc_project.Common.Error.InvalidArgument for
+     * invalid argument.
+     *
+     * @return Location code in unexpanded format and its node number.
+     */
+    std::tuple<std::string, uint16_t>
+        getUnexpandedLocationCode(const std::string& i_expandedLocationCode);
+
+  private:
+#ifdef IBM_SYSTEM
+    /**
+     * @brief API to set timer to detect system VPD over D-Bus.
+     *
+     * System VPD is required before bus name for VPD-Manager is claimed. Once
+     * system VPD is published, VPD for other FRUs should be collected. This API
+     * detects id system VPD is already published on D-Bus and based on that
+     * triggers VPD collection for rest of the FRUs.
+     *
+     * Note: Throws exception in case of any failure. Needs to be handled by the
+     * caller.
+     */
+    void SetTimerToDetectSVPDOnDbus();
+
+    /**
+     * @brief Set timer to detect and set VPD collection status for the system.
+     *
+     * Collection of FRU VPD is triggered in a separate thread. Resulting in
+     * multiple threads at  a given time. The API creates a timer which on
+     * regular interval will check if all the threads were collected back and
+     * sets the status of the VPD collection for the system accordingly.
+     *
+     * @throw std::runtime_error
+     */
+    void SetTimerToDetectVpdCollectionStatus();
+
+    /**
+     * @brief API to register callback for "AssetTag" property change.
+     */
+    void registerAssetTagChangeCallback();
+
+    /**
+     * @brief Callback API to be triggered on "AssetTag" property change.
+     *
+     * @param[in] i_msg - The callback message.
+     */
+    void processAssetTagChangeCallback(sdbusplus::message_t& i_msg);
+#endif
+
+    /**
+     * @brief An api to check validity of unexpanded location code.
+     *
+     * @param[in] i_locationCode - Unexpanded location code.
+     *
+     * @return True/False based on validity check.
+     */
+    bool isValidUnexpandedLocationCode(const std::string& i_locationCode);
+
+    /**
+     * @brief API to register callback for Host state change.
+     */
+    void registerHostStateChangeCallback();
+
+    /**
+     * @brief API to process host state change callback.
+     *
+     * @param[in] i_msg - Callback message.
+     */
+    void hostStateChangeCallBack(sdbusplus::message_t& i_msg);
+
+    // Shared pointer to asio context object.
+    const std::shared_ptr<boost::asio::io_context>& m_ioContext;
+
+    // Shared pointer to Dbus interface class.
+    const std::shared_ptr<sdbusplus::asio::dbus_interface>& m_interface;
+
+    // Shared pointer to bus connection.
+    const std::shared_ptr<sdbusplus::asio::connection>& m_asioConnection;
+
+    // Shared pointer to worker class
+    std::shared_ptr<Worker> m_worker;
+
+    // Shared pointer to GpioMonitor class
+    std::shared_ptr<GpioMonitor> m_gpioMonitor;
+
+    // Variable to hold current collection status
+    std::string m_vpdCollectionStatus = "NotStarted";
+};
+
+} // namespace vpd
diff --git a/vpd-manager/include/parser.hpp b/vpd-manager/include/parser.hpp
new file mode 100644
index 0000000..9af3088
--- /dev/null
+++ b/vpd-manager/include/parser.hpp
@@ -0,0 +1,126 @@
+#pragma once
+
+#include "parser_factory.hpp"
+#include "parser_interface.hpp"
+#include "types.hpp"
+
+#include <string.h>
+
+#include <nlohmann/json.hpp>
+
+#include <iostream>
+
+namespace vpd
+{
+/**
+ * @brief Class to implement a wrapper around concrete parser class.
+ * The class based on VPD file passed, selects the required parser and exposes
+ * API to parse the VPD and return the parsed data in required format to the
+ * caller.
+ */
+class Parser
+{
+  public:
+    /**
+     * @brief Constructor
+     *
+     * @param[in] vpdFilePath - Path to the VPD file.
+     * @param[in] parsedJson - Parsed JSON.
+     */
+    Parser(const std::string& vpdFilePath, nlohmann::json parsedJson);
+
+    /**
+     * @brief API to implement a generic parsing logic.
+     *
+     * This API is called to select parser based on the vpd data extracted from
+     * the VPD file path passed to the constructor of the class.
+     * It further parses the data based on the parser selected and returned
+     * parsed map to the caller.
+     */
+    types::VPDMapVariant parse();
+
+    /**
+     * @brief API to get parser instance based on VPD type.
+     *
+     * This API detects the VPD type based on the file path passed to the
+     * constructor of the class and returns the respective parser instance.
+     *
+     * @return Parser instance.
+     */
+    std::shared_ptr<vpd::ParserInterface> getVpdParserInstance();
+
+    /**
+     * @brief Update keyword value.
+     *
+     * This API is used to update keyword value on the EEPROM path and its
+     * redundant path(s) if any taken from system config JSON. And also updates
+     * keyword value on DBus.
+     *
+     * To update IPZ type VPD, input parameter for writing should be in the form
+     * of (Record, Keyword, Value). Eg: ("VINI", "SN", {0x01, 0x02, 0x03}).
+     *
+     * To update Keyword type VPD, input parameter for writing should be in the
+     * form of (Keyword, Value). Eg: ("PE", {0x01, 0x02, 0x03}).
+     *
+     * @param[in] i_paramsToWriteData - Input details.
+     *
+     * @return On success returns number of bytes written, on failure returns
+     * -1.
+     */
+    int updateVpdKeyword(const types::WriteVpdParams& i_paramsToWriteData);
+
+    /**
+     * @brief Update keyword value on hardware.
+     *
+     * This API is used to update keyword value on the hardware path.
+     *
+     * To update IPZ type VPD, input parameter for writing should be in the form
+     * of (Record, Keyword, Value). Eg: ("VINI", "SN", {0x01, 0x02, 0x03}).
+     *
+     * To update Keyword type VPD, input parameter for writing should be in the
+     * form of (Keyword, Value). Eg: ("PE", {0x01, 0x02, 0x03}).
+     *
+     * @param[in] i_paramsToWriteData - Input details.
+     *
+     * @return On success returns number of bytes written, on failure returns
+     * -1.
+     */
+    int updateVpdKeywordOnHardware(
+        const types::WriteVpdParams& i_paramsToWriteData);
+
+  private:
+    /**
+     * @brief Update keyword value on redundant path.
+     *
+     * This API is used to update keyword value on the given redundant path(s).
+     *
+     * To update IPZ type VPD, input parameter for writing should be in the form
+     * of (Record, Keyword, Value). Eg: ("VINI", "SN", {0x01, 0x02, 0x03}).
+     *
+     * To update Keyword type VPD, input parameter for writing should be in the
+     * form of (Keyword, Value). Eg: ("PE", {0x01, 0x02, 0x03}).
+     *
+     * @param[in] i_fruPath - Redundant EEPROM path.
+     * @param[in] i_paramsToWriteData - Input details.
+     *
+     * @return On success returns number of bytes written, on failure returns
+     * -1.
+     */
+    int updateVpdKeywordOnRedundantPath(
+        const std::string& i_fruPath,
+        const types::WriteVpdParams& i_paramsToWriteData);
+
+    // holds offfset to VPD if applicable.
+    size_t m_vpdStartOffset = 0;
+
+    // Path to the VPD file
+    const std::string& m_vpdFilePath;
+
+    // Path to configuration file, can be empty.
+    nlohmann::json m_parsedJson;
+
+    // Vector to hold VPD.
+    types::BinaryVector m_vpdVector;
+
+}; // parser
+} // namespace vpd
diff --git a/vpd-manager/include/parser_factory.hpp b/vpd-manager/include/parser_factory.hpp
new file mode 100644
index 0000000..819ec59
--- /dev/null
+++ b/vpd-manager/include/parser_factory.hpp
@@ -0,0 +1,50 @@
+#pragma once
+
+#include "logger.hpp"
+#include "parser_interface.hpp"
+#include "types.hpp"
+
+#include <memory>
+
+namespace vpd
+{
+/**
+ * @brief Factory calss to instantiate concrete parser class.
+ *
+ * This class should be used to instantiate an instance of parser class based
+ * on the type of vpd file.
+ */
+class ParserFactory
+{
+  public:
+    // Deleted APIs
+    ParserFactory() = delete;
+    ~ParserFactory() = delete;
+    ParserFactory(const ParserFactory&) = delete;
+    ParserFactory& operator=(const ParserFactory&) = delete;
+    ParserFactory(ParserFactory&&) = delete;
+    ParserFactory& operator=(ParserFactory&&) = delete;
+
+    /**
+     * @brief An API to get object of concrete parser class.
+     *
+     * The method is used to get object of respective parser class based on the
+     * type of VPD extracted from VPD vector passed to the API.
+     * To detect respective parser from VPD vector, add logic into the API
+     * vpdTypeCheck.
+     *
+     * Note: API throws DataException in case vpd type check fails for any
+     * unknown type. Caller responsibility to handle the exception.
+     *
+     * @param[in] i_vpdVector - vpd file content to check for the type.
+     * @param[in] i_vpdFilePath - FRU EEPROM path.
+     * @param[in] i_vpdStartOffset - Offset from where VPD starts in the VPD
+     * file.
+     *
+     * @return - Pointer to concrete parser class object.
+     */
+    static std::shared_ptr<ParserInterface>
+        getParser(const types::BinaryVector& i_vpdVector,
+                  const std::string& i_vpdFilePath, size_t i_vpdStartOffset);
+};
+} // namespace vpd
diff --git a/vpd-manager/include/parser_interface.hpp b/vpd-manager/include/parser_interface.hpp
new file mode 100644
index 0000000..0ff2862
--- /dev/null
+++ b/vpd-manager/include/parser_interface.hpp
@@ -0,0 +1,69 @@
+#pragma once
+
+#include "types.hpp"
+
+#include <variant>
+
+namespace vpd
+{
+/**
+ * @brief Interface class for parsers.
+ *
+ * Any concrete parser class, implementing parsing logic need to derive from
+ * this interface class and override the parse method declared in this class.
+ */
+class ParserInterface
+{
+  public:
+    /**
+     * @brief Pure virtual function for parsing VPD file.
+     *
+     * The API needs to be overridden by all the classes deriving from parser
+     * inerface class to implement respective VPD parsing logic.
+     *
+     * @return parsed format for VPD data, depending upon the
+     * parsing logic.
+     */
+    virtual types::VPDMapVariant parse() = 0;
+
+    /**
+     * @brief Read keyword's value from hardware
+     *
+     * @param[in] types::ReadVpdParams - Parameters required to perform read.
+     *
+     * @return keyword's value on successful read. Exception on failure.
+     */
+    virtual types::DbusVariantType
+        readKeywordFromHardware(const types::ReadVpdParams)
+    {
+        return types::DbusVariantType();
+    }
+
+    /**
+     * @brief API to write keyword's value on hardware.
+     *
+     * This virtual method is created to achieve runtime polymorphism for
+     * hardware writes on VPD of different types. This virtual method can be
+     * redefined at derived classess to implement write according to the type of
+     * VPD.
+     *
+     * @param[in] i_paramsToWriteData - Data required to perform write.
+     *
+     * @throw May throw exception depending on the implementation of derived
+     * methods.
+     * @return On success returns number of bytes written on hardware, On
+     * failure returns -1.
+     */
+    virtual int
+        writeKeywordOnHardware(const types::WriteVpdParams i_paramsToWriteData)
+    {
+        (void)i_paramsToWriteData;
+        return -1;
+    }
+
+    /**
+     * @brief Virtual destructor.
+     */
+    virtual ~ParserInterface() {}
+};
+} // namespace vpd
diff --git a/vpd-manager/include/types.hpp b/vpd-manager/include/types.hpp
new file mode 100644
index 0000000..314aebd
--- /dev/null
+++ b/vpd-manager/include/types.hpp
@@ -0,0 +1,192 @@
+#pragma once
+
+#include <phosphor-logging/elog-errors.hpp>
+#include <sdbusplus/asio/property.hpp>
+#include <sdbusplus/server.hpp>
+#include <xyz/openbmc_project/Common/Device/error.hpp>
+#include <xyz/openbmc_project/Common/error.hpp>
+
+#include <tuple>
+#include <unordered_map>
+#include <variant>
+
+namespace vpd
+{
+namespace types
+{
+
+using BiosProperty = std::tuple<
+    std::string, bool, std::string, std::string, std::string,
+    std::variant<int64_t, std::string>, std::variant<int64_t, std::string>,
+    std::vector<std::tuple<std::string, std::variant<int64_t, std::string>,
+                           std::string>>>;
+using BiosBaseTable =
+    std::variant<std::monostate, std::map<std::string, BiosProperty>>;
+using BiosBaseTableType = std::map<std::string, BiosBaseTable>;
+using BiosAttributeCurrentValue =
+    std::variant<std::monostate, int64_t, std::string>;
+using BiosAttributePendingValue = std::variant<int64_t, std::string>;
+using BiosGetAttrRetType = std::tuple<std::string, BiosAttributeCurrentValue,
+                                      BiosAttributePendingValue>;
+using PendingBIOSAttrItem =
+    std::pair<std::string, std::tuple<std::string, BiosAttributePendingValue>>;
+using PendingBIOSAttrs = std::vector<PendingBIOSAttrItem>;
+
+using BinaryVector = std::vector<uint8_t>;
+
+// This covers mostly all the data type supported over Dbus for a property.
+// clang-format off
+using DbusVariantType = std::variant<
+    std::vector<std::tuple<std::string, std::string, std::string>>,
+    std::vector<std::string>,
+    std::vector<double>,
+    std::string,
+    int64_t,
+    uint64_t,
+    double,
+    int32_t,
+    uint32_t,
+    int16_t,
+    uint16_t,
+    uint8_t,
+    bool,
+    BinaryVector,
+    std::vector<uint32_t>,
+    std::vector<uint16_t>,
+    sdbusplus::message::object_path,
+    std::tuple<uint64_t, std::vector<std::tuple<std::string, std::string, double, uint64_t>>>,
+    std::vector<std::tuple<std::string, std::string>>,
+    std::vector<std::tuple<uint32_t, std::vector<uint32_t>>>,
+    std::vector<std::tuple<uint32_t, size_t>>,
+    std::vector<std::tuple<sdbusplus::message::object_path, std::string,
+                           std::string, std::string>>,
+    PendingBIOSAttrs
+ >;
+
+using MapperGetObject =
+    std::vector<std::pair<std::string, std::vector<std::string>>>;
+using MapperGetSubTree = std::map<std::string, std::map<std::string, std::vector<std::string>>>;
+
+/* A type for holding the innermost map of property::value.*/
+using IPZKwdValueMap = std::unordered_map<std::string, std::string>;
+/*IPZ VPD Map of format <Record name, <keyword, value>>*/
+using IPZVpdMap = std::unordered_map<std::string, IPZKwdValueMap>;
+
+/*Value types supported by Keyword VPD*/
+using KWdVPDValueType = std::variant<BinaryVector,std::string, size_t>;
+/* This hold map of parsed data of keyword VPD type*/
+using KeywordVpdMap = std::unordered_map<std::string, KWdVPDValueType>;
+
+/**
+ * Both Keyword VPD parser and DDIMM parser stores the
+ * parsed VPD in the same format.
+ * To have better readability, two types are defined for underneath data structure.
+*/
+using DdimmVpdMap = KeywordVpdMap;
+
+/**
+ * Both Keyword VPD parser and ISDIMM parser stores the
+ * parsed SPD in the same format.
+*/
+using JedecSpdMap = KeywordVpdMap;
+
+/**
+ * Type to hold keyword::value map of a VPD.
+ * Variant can be extended to support additional type.
+*/
+using VPDKWdValueMap = std::variant<IPZKwdValueMap, KeywordVpdMap>;
+
+/* Map<Property, Value>*/
+using PropertyMap = std::map<std::string, DbusVariantType>;
+/* Map<Interface<Property, Value>>*/
+using InterfaceMap = std::map<std::string, PropertyMap>;
+using ObjectMap = std::map<sdbusplus::message::object_path, InterfaceMap>;
+
+using KwSize = uint8_t;
+using RecordId = uint8_t;
+using RecordSize = uint16_t;
+using RecordType = uint16_t;
+using RecordOffset = uint16_t;
+using RecordLength = uint16_t;
+using ECCOffset = uint16_t;
+using ECCLength = uint16_t;
+using PoundKwSize = uint16_t;
+
+using RecordOffsetList = std::vector<uint32_t>;
+
+using VPDMapVariant = std::variant<std::monostate, IPZVpdMap, KeywordVpdMap>;
+
+using HWVerList = std::vector<std::pair<std::string, std::string>>;
+/**
+ * Map of <systemIM, pair<Default version, vector<HW version, JSON suffix>>>
+*/
+using SystemTypeMap =
+    std::unordered_map<std::string, std::pair<std::string, HWVerList>>;
+
+using Path = std::string;
+using Record = std::string;
+using Keyword = std::string;
+
+using IpzData = std::tuple<Record, Keyword, BinaryVector>;
+using KwData = std::tuple<Keyword, BinaryVector>;
+using VpdData = std::variant<IpzData, KwData>;
+
+using IpzType = std::tuple<Record, Keyword>;
+using ReadVpdParams = std::variant<IpzType, Keyword>;
+using WriteVpdParams = std::variant<IpzData, KwData>;
+
+using ListOfPaths = std::vector<sdbusplus::message::object_path>;
+using RecordData = std::tuple<RecordOffset, RecordLength, ECCOffset, ECCLength>;
+
+using DbusInvalidArgument =
+    sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument;
+using DbusNotAllowed = sdbusplus::xyz::openbmc_project::Common::Error::NotAllowed;
+
+using InvalidArgument = phosphor::logging::xyz::openbmc_project::Common::InvalidArgument;
+
+namespace DeviceError = sdbusplus::xyz::openbmc_project::Common::Device::Error;
+
+/* PEL Severity enum as defined in [xyz.openbmc_project.Logging.Entry.Level]log.hpp from 'phosphor-logging' repo. */
+enum SeverityType
+{
+    Notice,
+    Informational,
+    Debug,
+    Warning,
+    Critical,
+    Emergency,
+    Alert,
+    Error
+};
+
+/* PEL callout priority from 'phosphor-logging' pel_types.hpp. If any change in 'phosphor-logging', it needs update here as well. */
+enum CalloutPriority
+{
+    High,
+    Medium,
+    MediumGroupA,
+    MediumGroupB,
+    MediumGroupC,
+    Low
+};
+
+/* The Message property of the event entry for creating PEL, to introduce new message needs to be added in 'phosphor-logging' message_registry.json as well. */
+enum ErrorType
+{
+    DefaultValue,
+    InvalidVpdMessage,
+    VpdMismatch,
+    InvalidEeprom,
+    EccCheckFailed,
+    JsonFailure,
+    DbusFailure,
+    InvalidSystem,
+    EssentialFru,
+    GpioError
+};
+
+using InventoryCalloutData = std::tuple<std::string, CalloutPriority>;
+using DeviceCalloutData = std::tuple<std::string, std::string>;
+using I2cBusCalloutData = std::tuple<std::string, std::string, std::string>;
+} // namespace types
+} // namespace vpd
diff --git a/vpd-manager/include/utility/common_utility.hpp b/vpd-manager/include/utility/common_utility.hpp
new file mode 100644
index 0000000..15b33a2
--- /dev/null
+++ b/vpd-manager/include/utility/common_utility.hpp
@@ -0,0 +1,117 @@
+#pragma once
+
+#include "constants.hpp"
+#include "logger.hpp"
+
+#include <algorithm>
+#include <cstdio>
+#include <cstdlib>
+#include <vector>
+
+/**
+ * @brief Namespace to host common utility methods.
+ *
+ * A method qualifies as a common utility function if,
+ * A)It is being used by the utility namespace at the same level as well as
+ * other files directly.
+ * B) The utility should be a leaf node and should not be dependent on any other
+ * utility.
+ *                  *******************
+ *                  | Commmon Utility | - - - - - - -
+ *                  *******************              |
+ *                          /\                       |
+ *                         /  \                      |
+ *         ****************    ****************      |
+ *         | json utility |    | dbus utility |      |
+ *         ****************    ****************      |
+ *                 \                 /               |
+ *                  \               /                |
+ *               ************************            |
+ *               | Vpd specific Utility | - - - - - - -
+ *               ************************
+ */
+
+namespace vpd
+{
+
+namespace commonUtility
+{
+/** @brief Return the hex representation of the incoming byte.
+ *
+ * @param [in] i_aByte - The input byte.
+ * @returns Hex representation of the byte as a character.
+ */
+constexpr auto toHex(size_t i_aByte)
+{
+    constexpr auto l_map = "0123456789abcdef";
+    return l_map[i_aByte];
+}
+
+/**
+ * @brief API to return null at the end of variadic template args.
+ *
+ * @return empty string.
+ */
+inline std::string getCommand()
+{
+    return "";
+}
+
+/**
+ * @brief API to arrange create command.
+ *
+ * @param[in] arguments to create the command
+ * @return Command string
+ */
+template <typename T, typename... Types>
+inline std::string getCommand(T i_arg1, Types... i_args)
+{
+    std::string l_cmd = " " + i_arg1 + getCommand(i_args...);
+
+    return l_cmd;
+}
+
+/**
+ * @brief API to create shell command and execute.
+ *
+ * @throw std::runtime_error.
+ *
+ * @param[in] arguments for command
+ * @returns output of that command
+ */
+template <typename T, typename... Types>
+inline std::vector<std::string> executeCmd(T&& i_path, Types... i_args)
+{
+    std::vector<std::string> l_cmdOutput;
+    std::array<char, constants::CMD_BUFFER_LENGTH> l_buffer;
+
+    std::string l_cmd = i_path + getCommand(i_args...);
+
+    std::unique_ptr<FILE, decltype(&pclose)> l_cmdPipe(
+        popen(l_cmd.c_str(), "r"), pclose);
+
+    if (!l_cmdPipe)
+    {
+        logging::logMessage(
+            "popen failed with error " + std::string(strerror(errno)));
+        throw std::runtime_error("popen failed!");
+    }
+    while (fgets(l_buffer.data(), l_buffer.size(), l_cmdPipe.get()) != nullptr)
+    {
+        l_cmdOutput.emplace_back(l_buffer.data());
+    }
+
+    return l_cmdOutput;
+}
+
+/** @brief Converts string to lower case.
+ *
+ * @param [in] i_string - Input string.
+ */
+inline void toLower(std::string& i_string)
+{
+    std::transform(i_string.begin(), i_string.end(), i_string.begin(),
+                   [](unsigned char l_char) { return std::tolower(l_char); });
+}
+} // namespace commonUtility
+} // namespace vpd
diff --git a/vpd-manager/include/utility/dbus_utility.hpp b/vpd-manager/include/utility/dbus_utility.hpp
new file mode 100644
index 0000000..4c81815
--- /dev/null
+++ b/vpd-manager/include/utility/dbus_utility.hpp
@@ -0,0 +1,567 @@
+#pragma once
+
+#include "constants.hpp"
+#include "logger.hpp"
+#include "types.hpp"
+
+#include <chrono>
+
+namespace vpd
+{
+/**
+ * @brief The namespace defines utlity methods for generic D-Bus operations.
+ */
+namespace dbusUtility
+{
+
+/**
+ * @brief An API to get Map of service and interfaces for an object path.
+ *
+ * The API returns a Map of service name and interfaces for a given pair of
+ * object path and interface list. It can be used to determine service name
+ * which implemets a particular object path and interface.
+ *
+ * Note: It will be caller's responsibility to check for empty map returned and
+ * generate appropriate error.
+ *
+ * @param [in] objectPath - Object path under the service.
+ * @param [in] interfaces - Array of interface(s).
+ * @return - A Map of service name to object to interface(s), if success.
+ *           If failed,  empty map.
+ */
+inline types::MapperGetObject getObjectMap(const std::string& objectPath,
+                                           std::span<const char*> interfaces)
+{
+    types::MapperGetObject getObjectMap;
+
+    // interface list is optional argument, hence no check required.
+    if (objectPath.empty())
+    {
+        logging::logMessage("Path value is empty, invalid call to GetObject");
+        return getObjectMap;
+    }
+
+    try
+    {
+        auto bus = sdbusplus::bus::new_default();
+        auto method = bus.new_method_call(
+            "xyz.openbmc_project.ObjectMapper",
+            "/xyz/openbmc_project/object_mapper",
+            "xyz.openbmc_project.ObjectMapper", "GetObject");
+
+        method.append(objectPath, interfaces);
+        auto result = bus.call(method);
+        result.read(getObjectMap);
+    }
+    catch (const sdbusplus::exception::SdBusError& e)
+    {
+        // logging::logMessage(e.what());
+        return getObjectMap;
+    }
+
+    return getObjectMap;
+}
+
+/**
+ * @brief An API to get property map for an interface.
+ *
+ * This API returns a map of property and its value with respect to a particular
+ * interface.
+ *
+ * Note: It will be caller's responsibility to check for empty map returned and
+ * generate appropriate error.
+ *
+ * @param[in] i_service - Service name.
+ * @param[in] i_objectPath - object path.
+ * @param[in] i_interface - Interface, for the properties to be listed.
+ *
+ * @return - A map of property and value of an interface, if success.
+ *           if failed, empty map.
+ */
+inline types::PropertyMap getPropertyMap(const std::string& i_service,
+                                         const std::string& i_objectPath,
+                                         const std::string& i_interface)
+{
+    types::PropertyMap l_propertyValueMap;
+    if (i_service.empty() || i_objectPath.empty() || i_interface.empty())
+    {
+        logging::logMessage("Invalid parameters to get property map");
+        return l_propertyValueMap;
+    }
+
+    try
+    {
+        auto l_bus = sdbusplus::bus::new_default();
+        auto l_method =
+            l_bus.new_method_call(i_service.c_str(), i_objectPath.c_str(),
+                                  "org.freedesktop.DBus.Properties", "GetAll");
+        l_method.append(i_interface);
+        auto l_result = l_bus.call(l_method);
+        l_result.read(l_propertyValueMap);
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        logging::logMessage(l_ex.what());
+    }
+
+    return l_propertyValueMap;
+}
+
+/**
+ * @brief API to get object subtree from D-bus.
+ *
+ * The API returns the map of object, services and interfaces in the
+ * subtree that implement a certain interface. If no interfaces are provided
+ * then all the objects, services and interfaces under the subtree will
+ * be returned.
+ *
+ * Note: Depth can be 0 and interfaces can be null.
+ * It will be caller's responsibility to check for empty vector returned
+ * and generate appropriate error.
+ *
+ * @param[in] i_objectPath - Path to search for an interface.
+ * @param[in] i_depth - Maximum depth of the tree to search.
+ * @param[in] i_interfaces - List of interfaces to search.
+ *
+ * @return - A map of object and its related services and interfaces, if
+ *           success. If failed, empty map.
+ */
+
+inline types::MapperGetSubTree
+    getObjectSubTree(const std::string& i_objectPath, const int& i_depth,
+                     const std::vector<std::string>& i_interfaces)
+{
+    types::MapperGetSubTree l_subTreeMap;
+
+    if (i_objectPath.empty())
+    {
+        logging::logMessage("Object path is empty.");
+        return l_subTreeMap;
+    }
+
+    try
+    {
+        auto l_bus = sdbusplus::bus::new_default();
+        auto l_method = l_bus.new_method_call(
+            constants::objectMapperService, constants::objectMapperPath,
+            constants::objectMapperInf, "GetSubTree");
+        l_method.append(i_objectPath, i_depth, i_interfaces);
+        auto l_result = l_bus.call(l_method);
+        l_result.read(l_subTreeMap);
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        logging::logMessage(l_ex.what());
+    }
+
+    return l_subTreeMap;
+}
+
+/**
+ * @brief An API to read property from Dbus.
+ *
+ * The caller of the API needs to validate the validatity and correctness of the
+ * type and value of data returned. The API will just fetch and retun the data
+ * without any data validation.
+ *
+ * Note: It will be caller's responsibility to check for empty value returned
+ * and generate appropriate error if required.
+ *
+ * @param [in] serviceName - Name of the Dbus service.
+ * @param [in] objectPath - Object path under the service.
+ * @param [in] interface - Interface under which property exist.
+ * @param [in] property - Property whose value is to be read.
+ * @return - Value read from Dbus, if success.
+ *           If failed, empty variant.
+ */
+inline types::DbusVariantType readDbusProperty(
+    const std::string& serviceName, const std::string& objectPath,
+    const std::string& interface, const std::string& property)
+{
+    types::DbusVariantType propertyValue;
+
+    // Mandatory fields to make a read dbus call.
+    if (serviceName.empty() || objectPath.empty() || interface.empty() ||
+        property.empty())
+    {
+        logging::logMessage(
+            "One of the parameter to make Dbus read call is empty.");
+        return propertyValue;
+    }
+
+    try
+    {
+        auto bus = sdbusplus::bus::new_default();
+        auto method =
+            bus.new_method_call(serviceName.c_str(), objectPath.c_str(),
+                                "org.freedesktop.DBus.Properties", "Get");
+        method.append(interface, property);
+
+        auto result = bus.call(method);
+        result.read(propertyValue);
+    }
+    catch (const sdbusplus::exception::SdBusError& e)
+    {
+        return propertyValue;
+    }
+    return propertyValue;
+}
+
+/**
+ * @brief An API to write property on Dbus.
+ *
+ * The caller of this API needs to handle exception thrown by this method to
+ * identify any write failure. The API in no other way indicate write  failure
+ * to the caller.
+ *
+ * Note: It will be caller's responsibility ho handle the exception thrown in
+ * case of write failure and generate appropriate error.
+ *
+ * @param [in] serviceName - Name of the Dbus service.
+ * @param [in] objectPath - Object path under the service.
+ * @param [in] interface - Interface under which property exist.
+ * @param [in] property - Property whose value is to be written.
+ * @param [in] propertyValue - The value to be written.
+ */
+inline void writeDbusProperty(
+    const std::string& serviceName, const std::string& objectPath,
+    const std::string& interface, const std::string& property,
+    const types::DbusVariantType& propertyValue)
+{
+    // Mandatory fields to make a write dbus call.
+    if (serviceName.empty() || objectPath.empty() || interface.empty() ||
+        property.empty())
+    {
+        logging::logMessage(
+            "One of the parameter to make Dbus read call is empty.");
+
+        // caller need to handle the throw to ensure Dbus write success.
+        throw std::runtime_error("Dbus write failed, Parameter empty");
+    }
+
+    try
+    {
+        auto bus = sdbusplus::bus::new_default();
+        auto method =
+            bus.new_method_call(serviceName.c_str(), objectPath.c_str(),
+                                "org.freedesktop.DBus.Properties", "Set");
+        method.append(interface, property, propertyValue);
+        bus.call(method);
+    }
+    catch (const sdbusplus::exception::SdBusError& e)
+    {
+        logging::logMessage(e.what());
+
+        // caller needs to handle this throw to handle error in writing Dbus.
+        throw std::runtime_error("Dbus write failed");
+    }
+}
+
+/**
+ * @brief API to publish data on PIM
+ *
+ * The API calls notify on PIM object to publlish VPD.
+ *
+ * @param[in] objectMap - Object, its interface and data.
+ * @return bool - Status of call to PIM notify.
+ */
+inline bool callPIM(types::ObjectMap&& objectMap)
+{
+    try
+    {
+        for (const auto& l_objectKeyValue : objectMap)
+        {
+            auto l_nodeHandle = objectMap.extract(l_objectKeyValue.first);
+
+            if (l_nodeHandle.key().str.find(constants::pimPath, 0) !=
+                std::string::npos)
+            {
+                l_nodeHandle.key() = l_nodeHandle.key().str.replace(
+                    0, std::strlen(constants::pimPath), "");
+                objectMap.insert(std::move(l_nodeHandle));
+            }
+        }
+
+        auto bus = sdbusplus::bus::new_default();
+        auto pimMsg =
+            bus.new_method_call(constants::pimServiceName, constants::pimPath,
+                                constants::pimIntf, "Notify");
+        pimMsg.append(std::move(objectMap));
+        bus.call(pimMsg);
+    }
+    catch (const sdbusplus::exception::SdBusError& e)
+    {
+        return false;
+    }
+    return true;
+}
+
+/**
+ * @brief API to check if a D-Bus service is running or not.
+ *
+ * Any failure in calling the method "NameHasOwner" implies that the service is
+ * not in a running state. Hence the API returns false in case of any exception
+ * as well.
+ *
+ * @param[in] i_serviceName - D-Bus service name whose status is to be checked.
+ * @return bool - True if the service is running, false otherwise.
+ */
+inline bool isServiceRunning(const std::string& i_serviceName)
+{
+    bool l_retVal = false;
+
+    try
+    {
+        auto l_bus = sdbusplus::bus::new_default();
+        auto l_method = l_bus.new_method_call(
+            "org.freedesktop.DBus", "/org/freedesktop/DBus",
+            "org.freedesktop.DBus", "NameHasOwner");
+        l_method.append(i_serviceName);
+
+        l_bus.call(l_method).read(l_retVal);
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        logging::logMessage(
+            "Call to check service status failed with exception: " +
+            std::string(l_ex.what()));
+    }
+
+    return l_retVal;
+}
+
+/**
+ * @brief API to call "GetAttribute" method uner BIOS manager.
+ *
+ * The API reads the given attribuute from BIOS and returns a tuple of both
+ * current as well as pending value for that attribute.
+ * The API return only the current attribute value if found.
+ * API returns an empty variant of type BiosAttributeCurrentValue in case of any
+ * error.
+ *
+ * @param[in] i_attributeName - Attribute to be read.
+ * @return Tuple of PLDM attribute Type, current attribute value and pending
+ * attribute value.
+ */
+inline types::BiosAttributeCurrentValue
+    biosGetAttributeMethodCall(const std::string& i_attributeName)
+{
+    auto l_bus = sdbusplus::bus::new_default();
+    auto l_method = l_bus.new_method_call(
+        constants::biosConfigMgrService, constants::biosConfigMgrObjPath,
+        constants::biosConfigMgrInterface, "GetAttribute");
+    l_method.append(i_attributeName);
+
+    types::BiosGetAttrRetType l_attributeVal;
+    try
+    {
+        auto l_result = l_bus.call(l_method);
+        l_result.read(std::get<0>(l_attributeVal), std::get<1>(l_attributeVal),
+                      std::get<2>(l_attributeVal));
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        logging::logMessage(
+            "Failed to read BIOS Attribute: " + i_attributeName +
+            " due to error " + std::string(l_ex.what()));
+
+        // TODO: Log an informational PEL here.
+    }
+
+    return std::get<1>(l_attributeVal);
+}
+
+/**
+ * @brief API to check if Chassis is powered on.
+ *
+ * This API queries Phosphor Chassis State Manager to know whether
+ * Chassis is powered on.
+ *
+ * @return true if chassis is powered on, false otherwise
+ */
+inline bool isChassisPowerOn()
+{
+    auto powerState = dbusUtility::readDbusProperty(
+        "xyz.openbmc_project.State.Chassis",
+        "/xyz/openbmc_project/state/chassis0",
+        "xyz.openbmc_project.State.Chassis", "CurrentPowerState");
+
+    if (auto curPowerState = std::get_if<std::string>(&powerState))
+    {
+        if ("xyz.openbmc_project.State.Chassis.PowerState.On" == *curPowerState)
+        {
+            return true;
+        }
+        return false;
+    }
+
+    /*
+        TODO: Add PEL.
+        Callout: Firmware callout
+        Type: Informational
+        Description: Chassis state can't be determined, defaulting to chassis
+        off. : e.what()
+    */
+    return false;
+}
+
+/**
+ * @brief API to check if host is in running state.
+ *
+ * This API reads the current host state from D-bus and returns true if the host
+ * is running.
+ *
+ * @return true if host is in running state. false otherwise.
+ */
+inline bool isHostRunning()
+{
+    const auto l_hostState = dbusUtility::readDbusProperty(
+        constants::hostService, constants::hostObjectPath,
+        constants::hostInterface, "CurrentHostState");
+
+    if (const auto l_currHostState = std::get_if<std::string>(&l_hostState))
+    {
+        if (*l_currHostState == constants::hostRunningState)
+        {
+            return true;
+        }
+    }
+
+    return false;
+}
+
+/**
+ * @brief API to check if BMC is in ready state.
+ *
+ * This API reads the current state of BMC from D-bus and returns true if BMC is
+ * in ready state.
+ *
+ * @return true if BMC is ready, false otherwise.
+ */
+inline bool isBMCReady()
+{
+    const auto l_bmcState = dbusUtility::readDbusProperty(
+        constants::bmcStateService, constants::bmcZeroStateObject,
+        constants::bmcStateInterface, constants::currentBMCStateProperty);
+
+    if (const auto l_currBMCState = std::get_if<std::string>(&l_bmcState))
+    {
+        if (*l_currBMCState == constants::bmcReadyState)
+        {
+            return true;
+        }
+    }
+
+    return false;
+}
+
+/**
+ * @brief An API to enable BMC reboot guard
+ *
+ * This API does a D-Bus method call to enable BMC reboot guard.
+ *
+ * @return On success, returns 0, otherwise returns -1.
+ */
+inline int EnableRebootGuard() noexcept
+{
+    int l_rc{constants::FAILURE};
+    try
+    {
+        auto l_bus = sdbusplus::bus::new_default();
+        auto l_method = l_bus.new_method_call(
+            constants::systemdService, constants::systemdObjectPath,
+            constants::systemdManagerInterface, "StartUnit");
+        l_method.append("reboot-guard-enable.service", "replace");
+        l_bus.call_noreply(l_method);
+        l_rc = constants::SUCCESS;
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        std::string l_errMsg =
+            "D-Bus call to enable BMC reboot guard failed for reason: ";
+        l_errMsg += l_ex.what();
+
+        logging::logMessage(l_errMsg);
+    }
+    return l_rc;
+}
+
+/**
+ * @brief An API to disable BMC reboot guard
+ *
+ * This API disables BMC reboot guard. This API has an inbuilt re-try mechanism.
+ * If Disable Reboot Guard fails, this API attempts to Disable Reboot Guard for
+ * 3 more times at an interval of 333ms.
+ *
+ * @return On success, returns 0, otherwise returns -1.
+ */
+inline int DisableRebootGuard() noexcept
+{
+    int l_rc{constants::FAILURE};
+
+    // A lambda which executes the DBus call to disable BMC reboot guard.
+    auto l_executeDisableRebootGuard = []() -> int {
+        int l_dBusCallRc{constants::FAILURE};
+        try
+        {
+            auto l_bus = sdbusplus::bus::new_default();
+            auto l_method = l_bus.new_method_call(
+                constants::systemdService, constants::systemdObjectPath,
+                constants::systemdManagerInterface, "StartUnit");
+            l_method.append("reboot-guard-disable.service", "replace");
+            l_bus.call_noreply(l_method);
+            l_dBusCallRc = constants::SUCCESS;
+        }
+        catch (const sdbusplus::exception::SdBusError& l_ex)
+        {}
+        return l_dBusCallRc;
+    };
+
+    if (constants::FAILURE == l_executeDisableRebootGuard())
+    {
+        std::function<void()> l_retryDisableRebootGuard;
+
+        // A lambda which tries to disable BMC reboot guard for 3 times at an
+        // interval of 333 ms.
+        l_retryDisableRebootGuard = [&]() {
+            constexpr int MAX_RETRIES{3};
+            static int l_numRetries{0};
+
+            if (l_numRetries < MAX_RETRIES)
+            {
+                l_numRetries++;
+                if (constants::FAILURE == l_executeDisableRebootGuard())
+                {
+                    // sleep for 333ms before next retry. This is just a random
+                    // value so that 3 re-tries * 333ms takes ~1 second in the
+                    // worst case.
+                    const std::chrono::milliseconds l_sleepTime{333};
+                    std::this_thread::sleep_for(l_sleepTime);
+                    l_retryDisableRebootGuard();
+                }
+                else
+                {
+                    l_numRetries = 0;
+                    l_rc = constants::SUCCESS;
+                }
+            }
+            else
+            {
+                // Failed to Disable Reboot Guard even after 3 retries.
+                logging::logMessage("Failed to Disable Reboot Guard after " +
+                                    std::to_string(MAX_RETRIES) + " re-tries");
+                l_numRetries = 0;
+            }
+        };
+
+        l_retryDisableRebootGuard();
+    }
+    else
+    {
+        l_rc = constants::SUCCESS;
+    }
+    return l_rc;
+}
+
+} // namespace dbusUtility
+} // namespace vpd
diff --git a/vpd-manager/include/utility/json_utility.hpp b/vpd-manager/include/utility/json_utility.hpp
new file mode 100644
index 0000000..3dab105
--- /dev/null
+++ b/vpd-manager/include/utility/json_utility.hpp
@@ -0,0 +1,1043 @@
+#pragma once
+
+#include "event_logger.hpp"
+#include "exceptions.hpp"
+#include "logger.hpp"
+#include "types.hpp"
+
+#include <gpiod.hpp>
+#include <nlohmann/json.hpp>
+#include <utility/common_utility.hpp>
+
+#include <fstream>
+#include <type_traits>
+#include <unordered_map>
+
+namespace vpd
+{
+namespace jsonUtility
+{
+
+// forward declaration of API for function map.
+bool processSystemCmdTag(const nlohmann::json& i_parsedConfigJson,
+                         const std::string& i_vpdFilePath,
+                         const std::string& i_baseAction,
+                         const std::string& i_flagToProcess);
+
+// forward declaration of API for function map.
+bool processGpioPresenceTag(
+    const nlohmann::json& i_parsedConfigJson, const std::string& i_vpdFilePath,
+    const std::string& i_baseAction, const std::string& i_flagToProcess);
+
+// forward declaration of API for function map.
+bool procesSetGpioTag(const nlohmann::json& i_parsedConfigJson,
+                      const std::string& i_vpdFilePath,
+                      const std::string& i_baseAction,
+                      const std::string& i_flagToProcess);
+
+// Function pointers to process tags from config JSON.
+typedef bool (*functionPtr)(
+    const nlohmann::json& i_parsedConfigJson, const std::string& i_vpdFilePath,
+    const std::string& i_baseAction, const std::string& i_flagToProcess);
+
+inline std::unordered_map<std::string, functionPtr> funcionMap{
+    {"gpioPresence", processGpioPresenceTag},
+    {"setGpio", procesSetGpioTag},
+    {"systemCmd", processSystemCmdTag}};
+
+/**
+ * @brief API to read VPD offset from JSON file.
+ *
+ * @param[in] i_sysCfgJsonObj - Parsed system config JSON object.
+ * @param[in] i_vpdFilePath - VPD file path.
+ * @return VPD offset if found in JSON, 0 otherwise.
+ */
+inline size_t getVPDOffset(const nlohmann::json& i_sysCfgJsonObj,
+                           const std::string& i_vpdFilePath)
+{
+    if (i_vpdFilePath.empty() || (i_sysCfgJsonObj.empty()) ||
+        (!i_sysCfgJsonObj.contains("frus")))
+    {
+        return 0;
+    }
+
+    if (i_sysCfgJsonObj["frus"].contains(i_vpdFilePath))
+    {
+        return i_sysCfgJsonObj["frus"][i_vpdFilePath].at(0).value("offset", 0);
+    }
+
+    const nlohmann::json& l_fruList =
+        i_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>();
+
+    for (const auto& l_fru : l_fruList.items())
+    {
+        const auto l_fruPath = l_fru.key();
+
+        // check if given path is redundant FRU path
+        if (i_vpdFilePath == i_sysCfgJsonObj["frus"][l_fruPath].at(0).value(
+                                 "redundantEeprom", ""))
+        {
+            // Return the offset of redundant EEPROM taken from JSON.
+            return i_sysCfgJsonObj["frus"][l_fruPath].at(0).value("offset", 0);
+        }
+    }
+
+    return 0;
+}
+
+/**
+ * @brief API to parse respective JSON.
+ *
+ * Exception is thrown in case of JSON parse error.
+ *
+ * @param[in] pathToJson - Path to JSON.
+ * @return Parsed JSON.
+ */
+inline nlohmann::json getParsedJson(const std::string& pathToJson)
+{
+    if (pathToJson.empty())
+    {
+        throw std::runtime_error("Path to JSON is missing");
+    }
+
+    if (!std::filesystem::exists(pathToJson) ||
+        std::filesystem::is_empty(pathToJson))
+    {
+        throw std::runtime_error("Incorrect File Path or empty file");
+    }
+
+    std::ifstream jsonFile(pathToJson);
+    if (!jsonFile)
+    {
+        throw std::runtime_error("Failed to access Json path = " + pathToJson);
+    }
+
+    try
+    {
+        return nlohmann::json::parse(jsonFile);
+    }
+    catch (const nlohmann::json::parse_error& e)
+    {
+        throw std::runtime_error("Failed to parse JSON file");
+    }
+}
+
+/**
+ * @brief Get inventory object path from system config JSON.
+ *
+ * Given either D-bus inventory path/FRU EEPROM path/redundant EEPROM path,
+ * this API returns D-bus inventory path if present in JSON.
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object
+ * @param[in] i_vpdPath - Path to where VPD is stored.
+ *
+ * @throw std::runtime_error.
+ *
+ * @return On success a valid path is returned, on failure an empty string is
+ * returned or an exception is thrown.
+ */
+inline std::string getInventoryObjPathFromJson(
+    const nlohmann::json& i_sysCfgJsonObj, const std::string& i_vpdPath)
+{
+    if (i_vpdPath.empty())
+    {
+        throw std::runtime_error("Path parameter is empty.");
+    }
+
+    if (!i_sysCfgJsonObj.contains("frus"))
+    {
+        throw std::runtime_error("Missing frus tag in system config JSON.");
+    }
+
+    // check if given path is FRU path
+    if (i_sysCfgJsonObj["frus"].contains(i_vpdPath))
+    {
+        return i_sysCfgJsonObj["frus"][i_vpdPath].at(0).value(
+            "inventoryPath", "");
+    }
+
+    const nlohmann::json& l_fruList =
+        i_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>();
+
+    for (const auto& l_fru : l_fruList.items())
+    {
+        const auto l_fruPath = l_fru.key();
+        const auto l_invObjPath =
+            i_sysCfgJsonObj["frus"][l_fruPath].at(0).value("inventoryPath", "");
+
+        // check if given path is redundant FRU path or inventory path
+        if (i_vpdPath == i_sysCfgJsonObj["frus"][l_fruPath].at(0).value(
+                             "redundantEeprom", "") ||
+            (i_vpdPath == l_invObjPath))
+        {
+            return l_invObjPath;
+        }
+    }
+    return std::string();
+}
+
+/**
+ * @brief Process "PostFailAction" defined in config JSON.
+ *
+ * In case there is some error in the processing of "preAction" execution and a
+ * set of procedure needs to be done as a part of post fail action. This base
+ * action can be defined in the config JSON for that FRU and it will be handled
+ * under this API.
+ *
+ * @param[in] i_parsedConfigJson - config JSON
+ * @param[in] i_vpdFilePath - EEPROM file path
+ * @param[in] i_flagToProcess - To identify which flag(s) needs to be processed
+ * under PostFailAction tag of config JSON.
+ * @return - success or failure
+ */
+inline bool executePostFailAction(const nlohmann::json& i_parsedConfigJson,
+                                  const std::string& i_vpdFilePath,
+                                  const std::string& i_flagToProcess)
+{
+    if (i_parsedConfigJson.empty() || i_vpdFilePath.empty() ||
+        i_flagToProcess.empty())
+    {
+        logging::logMessage(
+            "Invalid parameters. Abort processing for post fail action");
+
+        return false;
+    }
+
+    if (!(i_parsedConfigJson["frus"][i_vpdFilePath].at(0))["PostFailAction"]
+             .contains(i_flagToProcess))
+    {
+        logging::logMessage(
+            "Config JSON missing flag " + i_flagToProcess +
+            " to execute post fail action for path = " + i_vpdFilePath);
+
+        return false;
+    }
+
+    for (const auto& l_tags : (i_parsedConfigJson["frus"][i_vpdFilePath].at(
+             0))["PostFailAction"][i_flagToProcess]
+                                  .items())
+    {
+        auto itrToFunction = funcionMap.find(l_tags.key());
+        if (itrToFunction != funcionMap.end())
+        {
+            if (!itrToFunction->second(i_parsedConfigJson, i_vpdFilePath,
+                                       "PostFailAction", i_flagToProcess))
+            {
+                return false;
+            }
+        }
+    }
+
+    return true;
+}
+
+/**
+ * @brief Process "systemCmd" tag for a given FRU.
+ *
+ * The API will process "systemCmd" tag if it is defined in the config
+ * JSON for the given FRU.
+ *
+ * @param[in] i_parsedConfigJson - config JSON
+ * @param[in] i_vpdFilePath - EEPROM file path
+ * @param[in] i_baseAction - Base action for which this tag has been called.
+ * @param[in] i_flagToProcess - Flag nested under the base action for which this
+ * tag has been called.
+ * @return Execution status.
+ */
+inline bool processSystemCmdTag(
+    const nlohmann::json& i_parsedConfigJson, const std::string& i_vpdFilePath,
+    const std::string& i_baseAction, const std::string& i_flagToProcess)
+{
+    if (i_vpdFilePath.empty() || i_parsedConfigJson.empty() ||
+        i_baseAction.empty() || i_flagToProcess.empty())
+    {
+        logging::logMessage(
+            "Invalid parameter. Abort processing of processSystemCmd.");
+        return false;
+    }
+
+    if (!((i_parsedConfigJson["frus"][i_vpdFilePath].at(
+               0)[i_baseAction][i_flagToProcess]["systemCmd"])
+              .contains("cmd")))
+    {
+        logging::logMessage(
+            "Config JSON missing required information to execute system command for EEPROM " +
+            i_vpdFilePath);
+
+        return false;
+    }
+
+    try
+    {
+        const std::string& l_systemCommand =
+            i_parsedConfigJson["frus"][i_vpdFilePath].at(
+                0)[i_baseAction][i_flagToProcess]["systemCmd"]["cmd"];
+
+        commonUtility::executeCmd(l_systemCommand);
+        return true;
+    }
+    catch (const std::exception& e)
+    {
+        std::string l_errMsg = "Process system tag failed for exception: ";
+        l_errMsg += e.what();
+
+        logging::logMessage(l_errMsg);
+        return false;
+    }
+}
+
+/**
+ * @brief Checks for presence of a given FRU using GPIO line.
+ *
+ * This API returns the presence information of the FRU corresponding to the
+ * given VPD file path by setting the presence pin.
+ *
+ * @param[in] i_parsedConfigJson - config JSON
+ * @param[in] i_vpdFilePath - EEPROM file path
+ * @param[in] i_baseAction - Base action for which this tag has been called.
+ * @param[in] i_flagToProcess - Flag nested under the base action for which this
+ * tag has been called.
+ * @return Execution status.
+ */
+inline bool processGpioPresenceTag(
+    const nlohmann::json& i_parsedConfigJson, const std::string& i_vpdFilePath,
+    const std::string& i_baseAction, const std::string& i_flagToProcess)
+{
+    if (i_vpdFilePath.empty() || i_parsedConfigJson.empty() ||
+        i_baseAction.empty() || i_flagToProcess.empty())
+    {
+        logging::logMessage(
+            "Invalid parameter. Abort processing of processGpioPresence tag");
+        return false;
+    }
+
+    if (!(((i_parsedConfigJson["frus"][i_vpdFilePath].at(
+                0)[i_baseAction][i_flagToProcess]["gpioPresence"])
+               .contains("pin")) &&
+          ((i_parsedConfigJson["frus"][i_vpdFilePath].at(
+                0)[i_baseAction][i_flagToProcess]["gpioPresence"])
+               .contains("value"))))
+    {
+        logging::logMessage(
+            "Config JSON missing required information to detect presence for EEPROM " +
+            i_vpdFilePath);
+
+        return false;
+    }
+
+    // get the pin name
+    const std::string& l_presencePinName =
+        i_parsedConfigJson["frus"][i_vpdFilePath].at(
+            0)[i_baseAction][i_flagToProcess]["gpioPresence"]["pin"];
+
+    // get the pin value
+    uint8_t l_presencePinValue = i_parsedConfigJson["frus"][i_vpdFilePath].at(
+        0)[i_baseAction][i_flagToProcess]["gpioPresence"]["value"];
+
+    try
+    {
+        gpiod::line l_presenceLine = gpiod::find_line(l_presencePinName);
+
+        if (!l_presenceLine)
+        {
+            throw GpioException("Couldn't find the GPIO line.");
+        }
+
+        l_presenceLine.request({"Read the presence line",
+                                gpiod::line_request::DIRECTION_INPUT, 0});
+
+        return (l_presencePinValue == l_presenceLine.get_value());
+    }
+    catch (const std::exception& ex)
+    {
+        std::string l_errMsg = "Exception on GPIO line: ";
+        l_errMsg += l_presencePinName;
+        l_errMsg += " Reason: ";
+        l_errMsg += ex.what();
+        l_errMsg += " File: " + i_vpdFilePath + " Pel Logged";
+
+        // ToDo -- Update Internal Rc code.
+        EventLogger::createAsyncPelWithInventoryCallout(
+            types::ErrorType::GpioError, types::SeverityType::Informational,
+            {{getInventoryObjPathFromJson(i_parsedConfigJson, i_vpdFilePath),
+              types::CalloutPriority::High}},
+            std::source_location::current().file_name(),
+            std::source_location::current().function_name(), 0, l_errMsg,
+            std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+
+        logging::logMessage(l_errMsg);
+
+        // Except when GPIO pin value is false, we go and try collecting the
+        // FRU VPD as we couldn't able to read GPIO pin value due to some
+        // error/exception. So returning true in error scenario.
+        return true;
+    }
+}
+
+/**
+ * @brief Process "setGpio" tag for a given FRU.
+ *
+ * This API enables the GPIO line.
+ *
+ * @param[in] i_parsedConfigJson - config JSON
+ * @param[in] i_vpdFilePath - EEPROM file path
+ * @param[in] i_baseAction - Base action for which this tag has been called.
+ * @param[in] i_flagToProcess - Flag nested under the base action for which this
+ * tag has been called.
+ * @return Execution status.
+ */
+inline bool procesSetGpioTag(
+    const nlohmann::json& i_parsedConfigJson, const std::string& i_vpdFilePath,
+    const std::string& i_baseAction, const std::string& i_flagToProcess)
+{
+    if (i_vpdFilePath.empty() || i_parsedConfigJson.empty() ||
+        i_baseAction.empty() || i_flagToProcess.empty())
+    {
+        logging::logMessage(
+            "Invalid parameter. Abort processing of procesSetGpio.");
+        return false;
+    }
+
+    if (!(((i_parsedConfigJson["frus"][i_vpdFilePath].at(
+                0)[i_baseAction][i_flagToProcess]["setGpio"])
+               .contains("pin")) &&
+          ((i_parsedConfigJson["frus"][i_vpdFilePath].at(
+                0)[i_baseAction][i_flagToProcess]["setGpio"])
+               .contains("value"))))
+    {
+        logging::logMessage(
+            "Config JSON missing required information to set gpio line for EEPROM " +
+            i_vpdFilePath);
+
+        return false;
+    }
+
+    const std::string& l_pinName = i_parsedConfigJson["frus"][i_vpdFilePath].at(
+        0)[i_baseAction][i_flagToProcess]["setGpio"]["pin"];
+
+    // Get the value to set
+    uint8_t l_pinValue = i_parsedConfigJson["frus"][i_vpdFilePath].at(
+        0)[i_baseAction][i_flagToProcess]["setGpio"]["value"];
+
+    logging::logMessage(
+        "Setting GPIO: " + l_pinName + " to " + std::to_string(l_pinValue));
+    try
+    {
+        gpiod::line l_outputLine = gpiod::find_line(l_pinName);
+
+        if (!l_outputLine)
+        {
+            throw GpioException("Couldn't find GPIO line.");
+        }
+
+        l_outputLine.request(
+            {"FRU Action", ::gpiod::line_request::DIRECTION_OUTPUT, 0},
+            l_pinValue);
+        return true;
+    }
+    catch (const std::exception& ex)
+    {
+        std::string l_errMsg = "Exception on GPIO line: ";
+        l_errMsg += l_pinName;
+        l_errMsg += " Reason: ";
+        l_errMsg += ex.what();
+        l_errMsg += " File: " + i_vpdFilePath + " Pel Logged";
+
+        // ToDo -- Update Internal RC code
+        EventLogger::createAsyncPelWithInventoryCallout(
+            types::ErrorType::GpioError, types::SeverityType::Informational,
+            {{getInventoryObjPathFromJson(i_parsedConfigJson, i_vpdFilePath),
+              types::CalloutPriority::High}},
+            std::source_location::current().file_name(),
+            std::source_location::current().function_name(), 0, l_errMsg,
+            std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+
+        logging::logMessage(l_errMsg);
+
+        return false;
+    }
+}
+
+/**
+ * @brief Process any action, if defined in config JSON.
+ *
+ * If any FRU(s) requires any special handling, then this base action can be
+ * defined for that FRU in the config JSON, processing of which will be handled
+ * in this API.
+ * Examples of action - preAction, PostAction etc.
+ *
+ * @param[in] i_parsedConfigJson - config JSON
+ * @param[in] i_action - Base action to be performed.
+ * @param[in] i_vpdFilePath - EEPROM file path
+ * @param[in] i_flagToProcess - To identify which flag(s) needs to be processed
+ * under PreAction tag of config JSON.
+ * @return - success or failure
+ */
+inline bool executeBaseAction(
+    const nlohmann::json& i_parsedConfigJson, const std::string& i_action,
+    const std::string& i_vpdFilePath, const std::string& i_flagToProcess)
+{
+    if (i_flagToProcess.empty() || i_action.empty() || i_vpdFilePath.empty() ||
+        !i_parsedConfigJson.contains("frus"))
+    {
+        logging::logMessage("Invalid parameter");
+        return false;
+    }
+
+    if (!i_parsedConfigJson["frus"].contains(i_vpdFilePath))
+    {
+        logging::logMessage(
+            "File path: " + i_vpdFilePath + " not found in JSON");
+        return false;
+    }
+
+    if (!i_parsedConfigJson["frus"][i_vpdFilePath].at(0).contains(i_action))
+    {
+        logging::logMessage("Action [" + i_action +
+                            "] not defined for file path:" + i_vpdFilePath);
+        return false;
+    }
+
+    if (!(i_parsedConfigJson["frus"][i_vpdFilePath].at(0))[i_action].contains(
+            i_flagToProcess))
+    {
+        logging::logMessage("Config JSON missing flag [" + i_flagToProcess +
+                            "] to execute action for path = " + i_vpdFilePath);
+
+        return false;
+    }
+
+    const nlohmann::json& l_tagsJson =
+        (i_parsedConfigJson["frus"][i_vpdFilePath].at(
+            0))[i_action][i_flagToProcess];
+
+    for (const auto& l_tag : l_tagsJson.items())
+    {
+        auto itrToFunction = funcionMap.find(l_tag.key());
+        if (itrToFunction != funcionMap.end())
+        {
+            if (!itrToFunction->second(i_parsedConfigJson, i_vpdFilePath,
+                                       i_action, i_flagToProcess))
+            {
+                // In case any of the tag fails to execute. Mark action
+                // as failed for that flag.
+                return false;
+            }
+        }
+    }
+
+    return true;
+}
+
+/**
+ * @brief Get redundant FRU path from system config JSON
+ *
+ * Given either D-bus inventory path/FRU path/redundant FRU path, this
+ * API returns the redundant FRU path taken from "redundantEeprom" tag from
+ * system config JSON.
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ * @param[in] i_vpdPath - Path to where VPD is stored.
+ *
+ * @throw std::runtime_error.
+ * @return On success return valid path, on failure return empty string.
+ */
+inline std::string getRedundantEepromPathFromJson(
+    const nlohmann::json& i_sysCfgJsonObj, const std::string& i_vpdPath)
+{
+    if (i_vpdPath.empty())
+    {
+        throw std::runtime_error("Path parameter is empty.");
+    }
+
+    if (!i_sysCfgJsonObj.contains("frus"))
+    {
+        throw std::runtime_error("Missing frus tag in system config JSON.");
+    }
+
+    // check if given path is FRU path
+    if (i_sysCfgJsonObj["frus"].contains(i_vpdPath))
+    {
+        return i_sysCfgJsonObj["frus"][i_vpdPath].at(0).value(
+            "redundantEeprom", "");
+    }
+
+    const nlohmann::json& l_fruList =
+        i_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>();
+
+    for (const auto& l_fru : l_fruList.items())
+    {
+        const std::string& l_fruPath = l_fru.key();
+        const std::string& l_redundantFruPath =
+            i_sysCfgJsonObj["frus"][l_fruPath].at(0).value("redundantEeprom",
+                                                           "");
+
+        // check if given path is inventory path or redundant FRU path
+        if ((i_sysCfgJsonObj["frus"][l_fruPath].at(0).value("inventoryPath",
+                                                            "") == i_vpdPath) ||
+            (l_redundantFruPath == i_vpdPath))
+        {
+            return l_redundantFruPath;
+        }
+    }
+    return std::string();
+}
+
+/**
+ * @brief Get FRU EEPROM path from system config JSON
+ *
+ * Given either D-bus inventory path/FRU EEPROM path/redundant EEPROM path,
+ * this API returns FRU EEPROM path if present in JSON.
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object
+ * @param[in] i_vpdPath - Path to where VPD is stored.
+ *
+ * @throw std::runtime_error.
+ *
+ * @return On success return valid path, on failure return empty string.
+ */
+inline std::string getFruPathFromJson(const nlohmann::json& i_sysCfgJsonObj,
+                                      const std::string& i_vpdPath)
+{
+    if (i_vpdPath.empty())
+    {
+        throw std::runtime_error("Path parameter is empty.");
+    }
+
+    if (!i_sysCfgJsonObj.contains("frus"))
+    {
+        throw std::runtime_error("Missing frus tag in system config JSON.");
+    }
+
+    // check if given path is FRU path
+    if (i_sysCfgJsonObj["frus"].contains(i_vpdPath))
+    {
+        return i_vpdPath;
+    }
+
+    const nlohmann::json& l_fruList =
+        i_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>();
+
+    for (const auto& l_fru : l_fruList.items())
+    {
+        const auto l_fruPath = l_fru.key();
+
+        // check if given path is redundant FRU path or inventory path
+        if (i_vpdPath == i_sysCfgJsonObj["frus"][l_fruPath].at(0).value(
+                             "redundantEeprom", "") ||
+            (i_vpdPath == i_sysCfgJsonObj["frus"][l_fruPath].at(0).value(
+                              "inventoryPath", "")))
+        {
+            return l_fruPath;
+        }
+    }
+    return std::string();
+}
+
+/**
+ * @brief An API to check backup and restore VPD is required.
+ *
+ * The API checks if there is provision for backup and restore mentioned in the
+ * system config JSON, by looking "backupRestoreConfigPath" tag.
+ * Checks if the path mentioned is a hardware path, by checking if the file path
+ * exists and size of contents in the path.
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ *
+ * @return true if backup and restore is required, false otherwise.
+ */
+inline bool isBackupAndRestoreRequired(const nlohmann::json& i_sysCfgJsonObj)
+{
+    try
+    {
+        const std::string& l_backupAndRestoreCfgFilePath =
+            i_sysCfgJsonObj.value("backupRestoreConfigPath", "");
+        if (!l_backupAndRestoreCfgFilePath.empty() &&
+            std::filesystem::exists(l_backupAndRestoreCfgFilePath) &&
+            !std::filesystem::is_empty(l_backupAndRestoreCfgFilePath))
+        {
+            return true;
+        }
+    }
+    catch (std::exception& ex)
+    {
+        logging::logMessage(ex.what());
+    }
+    return false;
+}
+
+/** @brief API to check if an action is required for given EEPROM path.
+ *
+ * System config JSON can contain pre-action, post-action etc. like actions
+ * defined for an EEPROM path. The API will check if any such action is defined
+ * for the EEPROM.
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ * @param[in] i_vpdFruPath - EEPROM path.
+ * @param[in] i_action - Action to be checked.
+ * @param[in] i_flowFlag - Denotes the flow w.r.t which the action should be
+ * triggered.
+ * @return - True if action is defined for the flow, false otherwise.
+ */
+inline bool isActionRequired(
+    const nlohmann::json& i_sysCfgJsonObj, const std::string& i_vpdFruPath,
+    const std::string& i_action, const std::string& i_flowFlag)
+{
+    if (i_vpdFruPath.empty() || i_action.empty() || i_flowFlag.empty())
+    {
+        logging::logMessage("Invalid parameters recieved.");
+        return false;
+    }
+
+    if (!i_sysCfgJsonObj.contains("frus"))
+    {
+        logging::logMessage("Invalid JSON object recieved.");
+        return false;
+    }
+
+    if (!i_sysCfgJsonObj["frus"].contains(i_vpdFruPath))
+    {
+        logging::logMessage(
+            "JSON object does not contain EEPROM path " + i_vpdFruPath);
+        return false;
+    }
+
+    if ((i_sysCfgJsonObj["frus"][i_vpdFruPath].at(0)).contains(i_action))
+    {
+        if ((i_sysCfgJsonObj["frus"][i_vpdFruPath].at(0))[i_action].contains(
+                i_flowFlag))
+        {
+            return true;
+        }
+
+        logging::logMessage("Flow flag: [" + i_flowFlag +
+                            "], not found in JSON for path: " + i_vpdFruPath);
+        return false;
+    }
+    return false;
+}
+
+/**
+ * @brief An API to return list of FRUs that needs GPIO polling.
+ *
+ * An API that checks for the FRUs that requires GPIO polling and returns
+ * a list of FRUs that needs polling. Returns an empty list if there are
+ * no FRUs that requires polling.
+ *
+ * @throw std::runtime_error
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ *
+ * @return list of FRUs parameters that needs polling.
+ */
+inline std::vector<std::string>
+    getListOfGpioPollingFrus(const nlohmann::json& i_sysCfgJsonObj)
+{
+    if (i_sysCfgJsonObj.empty())
+    {
+        throw std::runtime_error("Invalid Parameters");
+    }
+
+    if (!i_sysCfgJsonObj.contains("frus"))
+    {
+        throw std::runtime_error("Missing frus section in system config JSON");
+    }
+
+    std::vector<std::string> l_gpioPollingRequiredFrusList;
+
+    for (const auto& l_fru : i_sysCfgJsonObj["frus"].items())
+    {
+        const auto l_fruPath = l_fru.key();
+
+        try
+        {
+            if (isActionRequired(i_sysCfgJsonObj, l_fruPath, "pollingRequired",
+                                 "hotPlugging"))
+            {
+                if (i_sysCfgJsonObj["frus"][l_fruPath]
+                        .at(0)["pollingRequired"]["hotPlugging"]
+                        .contains("gpioPresence"))
+                {
+                    l_gpioPollingRequiredFrusList.push_back(l_fruPath);
+                }
+            }
+        }
+        catch (const std::exception& l_ex)
+        {
+            logging::logMessage(l_ex.what());
+        }
+    }
+
+    return l_gpioPollingRequiredFrusList;
+}
+
+/**
+ * @brief Get all related path(s) to update keyword value.
+ *
+ * Given FRU EEPROM path/Inventory path needs keyword's value update, this API
+ * returns tuple of FRU EEPROM path, inventory path and redundant EEPROM path if
+ * exists in the system config JSON.
+ *
+ * Note: If the inventory object path or redundant EEPROM path(s) are not found
+ * in the system config JSON, corresponding fields will have empty value in the
+ * returning tuple.
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ * @param[in,out] io_vpdPath - Inventory object path or FRU EEPROM path.
+ *
+ * @return On success returns tuple of EEPROM path, inventory path & redundant
+ * path, on failure returns tuple with given input path alone.
+ */
+inline std::tuple<std::string, std::string, std::string>
+    getAllPathsToUpdateKeyword(const nlohmann::json& i_sysCfgJsonObj,
+                               std::string io_vpdPath)
+{
+    types::Path l_inventoryObjPath;
+    types::Path l_redundantFruPath;
+    try
+    {
+        if (!i_sysCfgJsonObj.empty())
+        {
+            // Get hardware path from system config JSON.
+            const types::Path l_fruPath =
+                jsonUtility::getFruPathFromJson(i_sysCfgJsonObj, io_vpdPath);
+
+            if (!l_fruPath.empty())
+            {
+                io_vpdPath = l_fruPath;
+
+                // Get inventory object path from system config JSON
+                l_inventoryObjPath = jsonUtility::getInventoryObjPathFromJson(
+                    i_sysCfgJsonObj, l_fruPath);
+
+                // Get redundant hardware path if present in system config JSON
+                l_redundantFruPath =
+                    jsonUtility::getRedundantEepromPathFromJson(i_sysCfgJsonObj,
+                                                                l_fruPath);
+            }
+        }
+    }
+    catch (const std::exception& l_exception)
+    {
+        logging::logMessage(
+            "Failed to get all paths to update keyword value, error " +
+            std::string(l_exception.what()));
+    }
+    return std::make_tuple(io_vpdPath, l_inventoryObjPath, l_redundantFruPath);
+}
+
+/**
+ * @brief An API to get DBus service name.
+ *
+ * Given DBus inventory path, this API returns DBus service name if present in
+ * the JSON.
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ * @param[in] l_inventoryPath - DBus inventory path.
+ *
+ * @return On success returns the service name present in the system config
+ * JSON, otherwise empty string.
+ *
+ * Note: Caller has to handle in case of empty string received.
+ */
+inline std::string getServiceName(const nlohmann::json& i_sysCfgJsonObj,
+                                  const std::string& l_inventoryPath)
+{
+    try
+    {
+        if (l_inventoryPath.empty())
+        {
+            throw std::runtime_error("Path parameter is empty.");
+        }
+
+        if (!i_sysCfgJsonObj.contains("frus"))
+        {
+            throw std::runtime_error("Missing frus tag in system config JSON.");
+        }
+
+        const nlohmann::json& l_listOfFrus =
+            i_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>();
+
+        for (const auto& l_frus : l_listOfFrus.items())
+        {
+            for (const auto& l_inventoryItem : l_frus.value())
+            {
+                if (l_inventoryPath.compare(l_inventoryItem["inventoryPath"]) ==
+                    constants::STR_CMP_SUCCESS)
+                {
+                    return l_inventoryItem["serviceName"];
+                }
+            }
+        }
+        throw std::runtime_error(
+            "Inventory path not found in the system config JSON");
+    }
+    catch (const std::exception& l_exception)
+    {
+        logging::logMessage(
+            "Error while getting DBus service name for given path " +
+            l_inventoryPath + ", error: " + std::string(l_exception.what()));
+        // TODO:log PEL
+    }
+    return std::string{};
+}
+
+/**
+ * @brief An API to check if a FRU is tagged as "powerOffOnly"
+ *
+ * Given the system config JSON and VPD FRU path, this API checks if the FRU
+ * VPD can be collected at Chassis Power Off state only.
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ * @param[in] i_vpdFruPath - EEPROM path.
+ * @return - True if FRU VPD can be collected at Chassis Power Off state only.
+ *           False otherwise
+ */
+inline bool isFruPowerOffOnly(const nlohmann::json& i_sysCfgJsonObj,
+                              const std::string& i_vpdFruPath)
+{
+    if (i_vpdFruPath.empty())
+    {
+        logging::logMessage("FRU path is empty.");
+        return false;
+    }
+
+    if (!i_sysCfgJsonObj.contains("frus"))
+    {
+        logging::logMessage("Missing frus tag in system config JSON.");
+        return false;
+    }
+
+    if (!i_sysCfgJsonObj["frus"].contains(i_vpdFruPath))
+    {
+        logging::logMessage("JSON object does not contain EEPROM path \'" +
+                            i_vpdFruPath + "\'");
+        return false;
+    }
+
+    return ((i_sysCfgJsonObj["frus"][i_vpdFruPath].at(0))
+                .contains("powerOffOnly") &&
+            (i_sysCfgJsonObj["frus"][i_vpdFruPath].at(0)["powerOffOnly"]));
+}
+
+/**
+ * @brief API which tells if the FRU is replaceable at runtime
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ * @param[in] i_vpdFruPath - EEPROM path.
+ *
+ * @return true if FRU is replaceable at runtime. false otherwise.
+ */
+inline bool isFruReplaceableAtRuntime(const nlohmann::json& i_sysCfgJsonObj,
+                                      const std::string& i_vpdFruPath)
+{
+    try
+    {
+        if (i_vpdFruPath.empty())
+        {
+            throw std::runtime_error("Given FRU path is empty.");
+        }
+
+        if (i_sysCfgJsonObj.empty() || (!i_sysCfgJsonObj.contains("frus")))
+        {
+            throw std::runtime_error("Invalid system config JSON object.");
+        }
+
+        return ((i_sysCfgJsonObj["frus"][i_vpdFruPath].at(0))
+                    .contains("replaceableAtRuntime") &&
+                (i_sysCfgJsonObj["frus"][i_vpdFruPath].at(
+                    0)["replaceableAtRuntime"]));
+    }
+    catch (const std::exception& l_error)
+    {
+        // TODO: Log PEL
+        logging::logMessage(l_error.what());
+    }
+
+    return false;
+}
+
+/**
+ * @brief API which tells if the FRU is replaceable at standby
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ * @param[in] i_vpdFruPath - EEPROM path.
+ *
+ * @return true if FRU is replaceable at standby. false otherwise.
+ */
+inline bool isFruReplaceableAtStandby(const nlohmann::json& i_sysCfgJsonObj,
+                                      const std::string& i_vpdFruPath)
+{
+    try
+    {
+        if (i_vpdFruPath.empty())
+        {
+            throw std::runtime_error("Given FRU path is empty.");
+        }
+
+        if (i_sysCfgJsonObj.empty() || (!i_sysCfgJsonObj.contains("frus")))
+        {
+            throw std::runtime_error("Invalid system config JSON object.");
+        }
+
+        return ((i_sysCfgJsonObj["frus"][i_vpdFruPath].at(0))
+                    .contains("replaceableAtStandby") &&
+                (i_sysCfgJsonObj["frus"][i_vpdFruPath].at(
+                    0)["replaceableAtStandby"]));
+    }
+    catch (const std::exception& l_error)
+    {
+        // TODO: Log PEL
+        logging::logMessage(l_error.what());
+    }
+
+    return false;
+}
+
+/**
+ * @brief API to get list of FRUs replaceable at standby from JSON.
+ *
+ * The API will return a vector of FRUs inventory path which are replaceable at
+ * standby.
+ * The API can throw exception in case of error scenarios. Caller's
+ * responsibility to handle those exceptions.
+ *
+ * @param[in] i_sysCfgJsonObj - System config JSON object.
+ *
+ * @return - List of FRUs replaceable at standby.
+ */
+inline std::vector<std::string>
+    getListOfFrusReplaceableAtStandby(const nlohmann::json& i_sysCfgJsonObj)
+{
+    std::vector<std::string> l_frusReplaceableAtStandby;
+
+    if (!i_sysCfgJsonObj.contains("frus"))
+    {
+        logging::logMessage("Missing frus tag in system config JSON.");
+        return l_frusReplaceableAtStandby;
+    }
+
+    const nlohmann::json& l_fruList =
+        i_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>();
+
+    for (const auto& l_fru : l_fruList.items())
+    {
+        if (i_sysCfgJsonObj["frus"][l_fru.key()].at(0).value(
+                "replaceableAtStandby", false))
+        {
+            const std::string& l_inventoryObjectPath =
+                i_sysCfgJsonObj["frus"][l_fru.key()].at(0).value(
+                    "inventoryPath", "");
+
+            if (!l_inventoryObjectPath.empty())
+            {
+                l_frusReplaceableAtStandby.emplace_back(l_inventoryObjectPath);
+            }
+        }
+    }
+
+    return l_frusReplaceableAtStandby;
+}
+
+} // namespace jsonUtility
+} // namespace vpd
diff --git a/vpd-manager/include/utility/vpd_specific_utility.hpp b/vpd-manager/include/utility/vpd_specific_utility.hpp
new file mode 100644
index 0000000..d6b92fd
--- /dev/null
+++ b/vpd-manager/include/utility/vpd_specific_utility.hpp
@@ -0,0 +1,556 @@
+#pragma once
+
+#include "config.h"
+
+#include "constants.hpp"
+#include "exceptions.hpp"
+#include "logger.hpp"
+#include "types.hpp"
+
+#include <nlohmann/json.hpp>
+#include <utility/common_utility.hpp>
+#include <utility/dbus_utility.hpp>
+
+#include <filesystem>
+#include <fstream>
+#include <regex>
+
+namespace vpd
+{
+namespace vpdSpecificUtility
+{
+/**
+ * @brief API to generate file name for bad VPD.
+ *
+ * For i2c eeproms - the pattern of the vpd-name will be
+ * i2c-<bus-number>-<eeprom-address>.
+ * For spi eeproms - the pattern of the vpd-name will be spi-<spi-number>.
+ *
+ * @param[in] vpdFilePath - file path of the vpd.
+ * @return Generated file name.
+ */
+inline std::string generateBadVPDFileName(const std::string& vpdFilePath)
+{
+    std::string badVpdFileName = BAD_VPD_DIR;
+    if (vpdFilePath.find("i2c") != std::string::npos)
+    {
+        badVpdFileName += "i2c-";
+        std::regex i2cPattern("(at24/)([0-9]+-[0-9]+)\\/");
+        std::smatch match;
+        if (std::regex_search(vpdFilePath, match, i2cPattern))
+        {
+            badVpdFileName += match.str(2);
+        }
+    }
+    else if (vpdFilePath.find("spi") != std::string::npos)
+    {
+        std::regex spiPattern("((spi)[0-9]+)(.0)");
+        std::smatch match;
+        if (std::regex_search(vpdFilePath, match, spiPattern))
+        {
+            badVpdFileName += match.str(1);
+        }
+    }
+    return badVpdFileName;
+}
+
+/**
+ * @brief API which dumps the broken/bad vpd in a directory.
+ * When the vpd is bad, this API places  the bad vpd file inside
+ * "/tmp/bad-vpd" in BMC, in order to collect bad VPD data as a part of user
+ * initiated BMC dump.
+ *
+ * Note: Throws exception in case of any failure.
+ *
+ * @param[in] vpdFilePath - vpd file path
+ * @param[in] vpdVector - vpd vector
+ */
+inline void dumpBadVpd(const std::string& vpdFilePath,
+                       const types::BinaryVector& vpdVector)
+{
+    std::filesystem::create_directory(BAD_VPD_DIR);
+    auto badVpdPath = generateBadVPDFileName(vpdFilePath);
+
+    if (std::filesystem::exists(badVpdPath))
+    {
+        std::error_code ec;
+        std::filesystem::remove(badVpdPath, ec);
+        if (ec) // error code
+        {
+            std::string error = "Error removing the existing broken vpd in ";
+            error += badVpdPath;
+            error += ". Error code : ";
+            error += ec.value();
+            error += ". Error message : ";
+            error += ec.message();
+            throw std::runtime_error(error);
+        }
+    }
+
+    std::ofstream badVpdFileStream(badVpdPath, std::ofstream::binary);
+    if (badVpdFileStream.is_open())
+    {
+        throw std::runtime_error(
+            "Failed to open bad vpd file path in /tmp/bad-vpd. "
+            "Unable to dump the broken/bad vpd file.");
+    }
+
+    badVpdFileStream.write(reinterpret_cast<const char*>(vpdVector.data()),
+                           vpdVector.size());
+}
+
+/**
+ * @brief An API to read value of a keyword.
+ *
+ * Note: Throws exception. Caller needs to handle.
+ *
+ * @param[in] kwdValueMap - A map having Kwd value pair.
+ * @param[in] kwd - keyword name.
+ * @param[out] kwdValue - Value of the keyword read from map.
+ */
+inline void getKwVal(const types::IPZKwdValueMap& kwdValueMap,
+                     const std::string& kwd, std::string& kwdValue)
+{
+    if (kwd.empty())
+    {
+        logging::logMessage("Invalid parameters");
+        throw std::runtime_error("Invalid parameters");
+    }
+
+    auto itrToKwd = kwdValueMap.find(kwd);
+    if (itrToKwd != kwdValueMap.end())
+    {
+        kwdValue = itrToKwd->second;
+        return;
+    }
+
+    throw std::runtime_error("Keyword not found");
+}
+
+/**
+ * @brief An API to process encoding of a keyword.
+ *
+ * @param[in] keyword - Keyword to be processed.
+ * @param[in] encoding - Type of encoding.
+ * @return Value after being processed for encoded type.
+ */
+inline std::string encodeKeyword(const std::string& keyword,
+                                 const std::string& encoding)
+{
+    // Default value is keyword value
+    std::string result(keyword.begin(), keyword.end());
+
+    if (encoding == "MAC")
+    {
+        result.clear();
+        size_t firstByte = keyword[0];
+        result += commonUtility::toHex(firstByte >> 4);
+        result += commonUtility::toHex(firstByte & 0x0f);
+        for (size_t i = 1; i < keyword.size(); ++i)
+        {
+            result += ":";
+            result += commonUtility::toHex(keyword[i] >> 4);
+            result += commonUtility::toHex(keyword[i] & 0x0f);
+        }
+    }
+    else if (encoding == "DATE")
+    {
+        // Date, represent as
+        // <year>-<month>-<day> <hour>:<min>
+        result.clear();
+        static constexpr uint8_t skipPrefix = 3;
+
+        auto strItr = keyword.begin();
+        advance(strItr, skipPrefix);
+        for_each(strItr, keyword.end(), [&result](size_t c) { result += c; });
+
+        result.insert(constants::BD_YEAR_END, 1, '-');
+        result.insert(constants::BD_MONTH_END, 1, '-');
+        result.insert(constants::BD_DAY_END, 1, ' ');
+        result.insert(constants::BD_HOUR_END, 1, ':');
+    }
+
+    return result;
+}
+
+/**
+ * @brief Helper function to insert or merge in map.
+ *
+ * This method checks in an interface if the given interface exists. If the
+ * interface key already exists, property map is inserted corresponding to it.
+ * If the key does'nt exist then given interface and property map pair is newly
+ * created. If the property present in propertymap already exist in the
+ * InterfaceMap, then the new property value is ignored.
+ *
+ * @param[in,out] map - Interface map.
+ * @param[in] interface - Interface to be processed.
+ * @param[in] propertyMap - new property map that needs to be emplaced.
+ */
+inline void insertOrMerge(types::InterfaceMap& map,
+                          const std::string& interface,
+                          types::PropertyMap&& propertyMap)
+{
+    if (map.find(interface) != map.end())
+    {
+        try
+        {
+            auto& prop = map.at(interface);
+            std::for_each(propertyMap.begin(), propertyMap.end(),
+                          [&prop](auto l_keyValue) {
+                              prop[l_keyValue.first] = l_keyValue.second;
+                          });
+        }
+        catch (const std::exception& l_ex)
+        {
+            // ToDo:: Log PEL
+            logging::logMessage(
+                "Inserting properties into interface[" + interface +
+                "] map is failed, reason: " + std::string(l_ex.what()));
+        }
+    }
+    else
+    {
+        map.emplace(interface, propertyMap);
+    }
+}
+
+/**
+ * @brief API to expand unpanded location code.
+ *
+ * Note: The API handles all the exception internally, in case of any error
+ * unexpanded location code will be returned as it is.
+ *
+ * @param[in] unexpandedLocationCode - Unexpanded location code.
+ * @param[in] parsedVpdMap - Parsed VPD map.
+ * @return Expanded location code. In case of any error, unexpanded is returned
+ * as it is.
+ */
+inline std::string
+    getExpandedLocationCode(const std::string& unexpandedLocationCode,
+                            const types::VPDMapVariant& parsedVpdMap)
+{
+    auto expanded{unexpandedLocationCode};
+
+    try
+    {
+        // Expanded location code is formed by combining two keywords
+        // depending on type in unexpanded one. Second one is always "SE".
+        std::string kwd1, kwd2{constants::kwdSE};
+
+        // interface to search for required keywords;
+        std::string kwdInterface;
+
+        // record which holds the required keywords.
+        std::string recordName;
+
+        auto pos = unexpandedLocationCode.find("fcs");
+        if (pos != std::string::npos)
+        {
+            kwd1 = constants::kwdFC;
+            kwdInterface = constants::vcenInf;
+            recordName = constants::recVCEN;
+        }
+        else
+        {
+            pos = unexpandedLocationCode.find("mts");
+            if (pos != std::string::npos)
+            {
+                kwd1 = constants::kwdTM;
+                kwdInterface = constants::vsysInf;
+                recordName = constants::recVSYS;
+            }
+            else
+            {
+                throw std::runtime_error(
+                    "Error detecting type of unexpanded location code.");
+            }
+        }
+
+        std::string firstKwdValue, secondKwdValue;
+
+        if (auto ipzVpdMap = std::get_if<types::IPZVpdMap>(&parsedVpdMap);
+            ipzVpdMap && (*ipzVpdMap).find(recordName) != (*ipzVpdMap).end())
+        {
+            auto itrToVCEN = (*ipzVpdMap).find(recordName);
+            // The exceptions will be cautght at end.
+            getKwVal(itrToVCEN->second, kwd1, firstKwdValue);
+            getKwVal(itrToVCEN->second, kwd2, secondKwdValue);
+        }
+        else
+        {
+            std::array<const char*, 1> interfaceList = {kwdInterface.c_str()};
+
+            types::MapperGetObject mapperRetValue = dbusUtility::getObjectMap(
+                std::string(constants::systemVpdInvPath), interfaceList);
+
+            if (mapperRetValue.empty())
+            {
+                throw std::runtime_error("Mapper failed to get service");
+            }
+
+            const std::string& serviceName = std::get<0>(mapperRetValue.at(0));
+
+            auto retVal = dbusUtility::readDbusProperty(
+                serviceName, std::string(constants::systemVpdInvPath),
+                kwdInterface, kwd1);
+
+            if (auto kwdVal = std::get_if<types::BinaryVector>(&retVal))
+            {
+                firstKwdValue.assign(
+                    reinterpret_cast<const char*>(kwdVal->data()),
+                    kwdVal->size());
+            }
+            else
+            {
+                throw std::runtime_error(
+                    "Failed to read value of " + kwd1 + " from Bus");
+            }
+
+            retVal = dbusUtility::readDbusProperty(
+                serviceName, std::string(constants::systemVpdInvPath),
+                kwdInterface, kwd2);
+
+            if (auto kwdVal = std::get_if<types::BinaryVector>(&retVal))
+            {
+                secondKwdValue.assign(
+                    reinterpret_cast<const char*>(kwdVal->data()),
+                    kwdVal->size());
+            }
+            else
+            {
+                throw std::runtime_error(
+                    "Failed to read value of " + kwd2 + " from Bus");
+            }
+        }
+
+        if (unexpandedLocationCode.find("fcs") != std::string::npos)
+        {
+            // TODO: See if ND0 can be placed in the JSON
+            expanded.replace(
+                pos, 3, firstKwdValue.substr(0, 4) + ".ND0." + secondKwdValue);
+        }
+        else
+        {
+            replace(firstKwdValue.begin(), firstKwdValue.end(), '-', '.');
+            expanded.replace(pos, 3, firstKwdValue + "." + secondKwdValue);
+        }
+    }
+    catch (const std::exception& ex)
+    {
+        logging::logMessage("Failed to expand location code with exception: " +
+                            std::string(ex.what()));
+    }
+
+    return expanded;
+}
+
+/**
+ * @brief An API to get VPD in a vector.
+ *
+ * The vector is required by the respective parser to fill the VPD map.
+ * Note: API throws exception in case of failure. Caller needs to handle.
+ *
+ * @param[in] vpdFilePath - EEPROM path of the FRU.
+ * @param[out] vpdVector - VPD in vector form.
+ * @param[in] vpdStartOffset - Offset of VPD data in EEPROM.
+ */
+inline void getVpdDataInVector(const std::string& vpdFilePath,
+                               types::BinaryVector& vpdVector,
+                               size_t& vpdStartOffset)
+{
+    try
+    {
+        std::fstream vpdFileStream;
+        vpdFileStream.exceptions(
+            std::ifstream::badbit | std::ifstream::failbit);
+        vpdFileStream.open(vpdFilePath, std::ios::in | std::ios::binary);
+        auto vpdSizeToRead = std::min(std::filesystem::file_size(vpdFilePath),
+                                      static_cast<uintmax_t>(65504));
+        vpdVector.resize(vpdSizeToRead);
+
+        vpdFileStream.seekg(vpdStartOffset, std::ios_base::beg);
+        vpdFileStream.read(reinterpret_cast<char*>(&vpdVector[0]),
+                           vpdSizeToRead);
+
+        vpdVector.resize(vpdFileStream.gcount());
+        vpdFileStream.clear(std::ios_base::eofbit);
+    }
+    catch (const std::ifstream::failure& fail)
+    {
+        std::cerr << "Exception in file handling [" << vpdFilePath
+                  << "] error : " << fail.what();
+        throw;
+    }
+}
+
+/**
+ * @brief An API to get D-bus representation of given VPD keyword.
+ *
+ * @param[in] i_keywordName - VPD keyword name.
+ *
+ * @return D-bus representation of given keyword.
+ */
+inline std::string getDbusPropNameForGivenKw(const std::string& i_keywordName)
+{
+    // Check for "#" prefixed VPD keyword.
+    if ((i_keywordName.size() == vpd::constants::TWO_BYTES) &&
+        (i_keywordName.at(0) == constants::POUND_KW))
+    {
+        // D-bus doesn't support "#". Replace "#" with "PD_" for those "#"
+        // prefixed keywords.
+        return (std::string(constants::POUND_KW_PREFIX) +
+                i_keywordName.substr(1));
+    }
+
+    // Return the keyword name back, if D-bus representation is same as the VPD
+    // keyword name.
+    return i_keywordName;
+}
+
+/**
+ * @brief API to find CCIN in parsed VPD map.
+ *
+ * Few FRUs need some special handling. To identify those FRUs CCIN are used.
+ * The API will check from parsed VPD map if the FRU is the one with desired
+ * CCIN.
+ *
+ * @throw std::runtime_error
+ * @throw DataException
+ *
+ * @param[in] i_JsonObject - Any JSON which contains CCIN tag to match.
+ * @param[in] i_parsedVpdMap - Parsed VPD map.
+ * @return True if found, false otherwise.
+ */
+inline bool findCcinInVpd(const nlohmann::json& i_JsonObject,
+                          const types::VPDMapVariant& i_parsedVpdMap)
+{
+    if (i_JsonObject.empty())
+    {
+        throw std::runtime_error("Json object is empty. Can't find CCIN");
+    }
+
+    if (auto l_ipzVPDMap = std::get_if<types::IPZVpdMap>(&i_parsedVpdMap))
+    {
+        auto l_itrToRec = (*l_ipzVPDMap).find("VINI");
+        if (l_itrToRec == (*l_ipzVPDMap).end())
+        {
+            throw DataException(
+                "VINI record not found in parsed VPD. Can't find CCIN");
+        }
+
+        std::string l_ccinFromVpd;
+        vpdSpecificUtility::getKwVal(l_itrToRec->second, "CC", l_ccinFromVpd);
+        if (l_ccinFromVpd.empty())
+        {
+            throw DataException("Empty CCIN value in VPD map. Can't find CCIN");
+        }
+
+        transform(l_ccinFromVpd.begin(), l_ccinFromVpd.end(),
+                  l_ccinFromVpd.begin(), ::toupper);
+
+        for (std::string l_ccinValue : i_JsonObject["ccin"])
+        {
+            transform(l_ccinValue.begin(), l_ccinValue.end(),
+                      l_ccinValue.begin(), ::toupper);
+
+            if (l_ccinValue.compare(l_ccinFromVpd) ==
+                constants::STR_CMP_SUCCESS)
+            {
+                // CCIN found
+                return true;
+            }
+        }
+
+        logging::logMessage("No match found for CCIN");
+        return false;
+    }
+
+    logging::logMessage("VPD type not supported. Can't find CCIN");
+    return false;
+}
+
+/**
+ * @brief API to reset data of a FRU populated under PIM.
+ *
+ * This API resets the data for particular interfaces of a FRU under PIM.
+ *
+ * @param[in] i_objectPath - DBus object path of the FRU.
+ * @param[in] io_interfaceMap - Interface and its properties map.
+ */
+inline void resetDataUnderPIM(const std::string& i_objectPath,
+                              types::InterfaceMap& io_interfaceMap)
+{
+    try
+    {
+        std::array<const char*, 0> l_interfaces;
+        const types::MapperGetObject& l_getObjectMap =
+            dbusUtility::getObjectMap(i_objectPath, l_interfaces);
+
+        const std::vector<std::string>& l_vpdRelatedInterfaces{
+            constants::operationalStatusInf, constants::inventoryItemInf,
+            constants::assetInf};
+
+        for (const auto& [l_service, l_interfaceList] : l_getObjectMap)
+        {
+            if (l_service.compare(constants::pimServiceName) !=
+                constants::STR_CMP_SUCCESS)
+            {
+                continue;
+            }
+
+            for (const auto& l_interface : l_interfaceList)
+            {
+                if ((l_interface.find(constants::ipzVpdInf) !=
+                     std::string::npos) ||
+                    ((std::find(l_vpdRelatedInterfaces.begin(),
+                                l_vpdRelatedInterfaces.end(), l_interface)) !=
+                     l_vpdRelatedInterfaces.end()))
+                {
+                    const types::PropertyMap& l_propertyValueMap =
+                        dbusUtility::getPropertyMap(l_service, i_objectPath,
+                                                    l_interface);
+
+                    types::PropertyMap l_propertyMap;
+
+                    for (const auto& l_aProperty : l_propertyValueMap)
+                    {
+                        const std::string& l_propertyName = l_aProperty.first;
+                        const auto& l_propertyValue = l_aProperty.second;
+
+                        if (std::holds_alternative<types::BinaryVector>(
+                                l_propertyValue))
+                        {
+                            l_propertyMap.emplace(l_propertyName,
+                                                  types::BinaryVector{});
+                        }
+                        else if (std::holds_alternative<std::string>(
+                                     l_propertyValue))
+                        {
+                            l_propertyMap.emplace(l_propertyName,
+                                                  std::string{});
+                        }
+                        else if (std::holds_alternative<bool>(l_propertyValue))
+                        {
+                            // ToDo -- Update the functional status property
+                            // to true.
+                            if (l_propertyName.compare("Present") ==
+                                constants::STR_CMP_SUCCESS)
+                            {
+                                l_propertyMap.emplace(l_propertyName, false);
+                            }
+                        }
+                    }
+                    io_interfaceMap.emplace(l_interface,
+                                            std::move(l_propertyMap));
+                }
+            }
+        }
+    }
+    catch (const std::exception& l_ex)
+    {
+        logging::logMessage("Failed to remove VPD for FRU: " + i_objectPath +
+                            " with error: " + std::string(l_ex.what()));
+    }
+}
+} // namespace vpdSpecificUtility
+} // namespace vpd
diff --git a/vpd-manager/include/worker.hpp b/vpd-manager/include/worker.hpp
new file mode 100644
index 0000000..85a1818
--- /dev/null
+++ b/vpd-manager/include/worker.hpp
@@ -0,0 +1,529 @@
+#pragma once
+
+#include "constants.hpp"
+#include "types.hpp"
+
+#include <nlohmann/json.hpp>
+
+#include <mutex>
+#include <optional>
+#include <semaphore>
+#include <tuple>
+
+namespace vpd
+{
+/**
+ * @brief A class to process and publish VPD data.
+ *
+ * The class works on VPD and is mainly responsible for following tasks:
+ * 1) Select appropriate device tree and JSON. Reboot if required.
+ * 2) Get desired parser using parser factory.
+ * 3) Calling respective parser class to get parsed VPD.
+ * 4) Arranging VPD data under required interfaces.
+ * 5) Calling PIM to publish VPD.
+ *
+ * The class may also implement helper functions required for VPD handling.
+ */
+class Worker
+{
+  public:
+    /**
+     * List of deleted functions.
+     */
+    Worker(const Worker&);
+    Worker& operator=(const Worker&);
+    Worker(Worker&&) = delete;
+
+    /**
+     * @brief Constructor.
+     *
+     * In case the processing is not JSON based, no argument needs to be passed.
+     * Constructor will also, based on symlink pick the correct JSON and
+     * initialize the parsed JSON variable.
+     *
+     * @param[in] pathToConfigJSON - Path to the config JSON, if applicable.
+     *
+     * Note: Throws std::exception in case of construction failure. Caller needs
+     * to handle to detect successful object creation.
+     */
+    Worker(std::string pathToConfigJson = std::string());
+
+    /**
+     * @brief Destructor
+     */
+    ~Worker() = default;
+
+#ifdef IBM_SYSTEM
+    /**
+     * @brief API to perform initial setup before manager claims Bus name.
+     *
+     * Before BUS name for VPD-Manager is claimed, fitconfig whould be set for
+     * corret device tree, inventory JSON w.r.t system should be linked and
+     * system VPD should be on DBus.
+     */
+    void performInitialSetup();
+#endif
+
+    /**
+     * @brief An API to check if system VPD is already published.
+     *
+     * @return Status, true if system is already collected else false.
+     */
+    bool isSystemVPDOnDBus() const;
+
+    /**
+     * @brief API to process all FRUs presnt in config JSON file.
+     *
+     * This API based on config JSON passed/selected for the system, will
+     * trigger parser for all the FRUs and publish it on DBus.
+     *
+     * Note: Config JSON file path should be passed to worker class constructor
+     * to make use of this API.
+     *
+     */
+    void collectFrusFromJson();
+
+    /**
+     * @brief API to parse VPD data
+     *
+     * @param[in] i_vpdFilePath - Path to the VPD file.
+     */
+    types::VPDMapVariant parseVpdFile(const std::string& i_vpdFilePath);
+
+    /**
+     * @brief An API to populate DBus interfaces for a FRU.
+     *
+     * Note: Call this API to populate D-Bus. Also caller should handle empty
+     * objectInterfaceMap.
+     *
+     * @param[in] parsedVpdMap - Parsed VPD as a map.
+     * @param[out] objectInterfaceMap - Object and its interfaces map.
+     * @param[in] vpdFilePath - EEPROM path of FRU.
+     */
+    void populateDbus(const types::VPDMapVariant& parsedVpdMap,
+                      types::ObjectMap& objectInterfaceMap,
+                      const std::string& vpdFilePath);
+
+    /**
+     * @brief An API to delete FRU VPD over DBus.
+     *
+     * @param[in] i_dbusObjPath - Dbus object path of the FRU.
+     *
+     * @throw std::runtime_error if given input path is empty.
+     */
+    void deleteFruVpd(const std::string& i_dbusObjPath);
+
+    /**
+     * @brief API to get status of VPD collection process.
+     *
+     * @return - True when done, false otherwise.
+     */
+    inline bool isAllFruCollectionDone() const
+    {
+        return m_isAllFruCollected;
+    }
+
+    /**
+     * @brief API to get system config JSON object
+     *
+     * @return System config JSON object.
+     */
+    inline nlohmann::json getSysCfgJsonObj() const
+    {
+        return m_parsedJson;
+    }
+
+    /**
+     * @brief API to get active thread count.
+     *
+     * Each FRU is collected in a separate thread. This API gives the active
+     * thread collecting FRU's VPD at any given time.
+     *
+     * @return Count of active threads.
+     */
+    size_t getActiveThreadCount() const
+    {
+        return m_activeCollectionThreadCount;
+    }
+
+  private:
+    /**
+     * @brief An API to parse and publish a FRU VPD over D-Bus.
+     *
+     * Note: This API will handle all the exceptions internally and will only
+     * return status of parsing and publishing of VPD over D-Bus.
+     *
+     * @param[in] i_vpdFilePath - Path of file containing VPD.
+     * @return Tuple of status and file path. Status, true if successfull else
+     * false.
+     */
+    std::tuple<bool, std::string>
+        parseAndPublishVPD(const std::string& i_vpdFilePath);
+
+    /**
+     * @brief An API to set appropriate device tree and JSON.
+     *
+     * This API based on system chooses corresponding device tree and JSON.
+     * If device tree change is required, it updates the "fitconfig" and reboots
+     * the system. Else it is NOOP.
+     *
+     * @throw std::runtime_error
+     */
+    void setDeviceTreeAndJson();
+
+    /**
+     * @brief API to select system specific JSON.
+     *
+     * The API based on the IM value of VPD, will select appropriate JSON for
+     * the system. In case no system is found corresponding to the extracted IM
+     * value, error will be logged.
+     *
+     * @param[out] systemJson - System JSON name.
+     * @param[in] parsedVpdMap - Parsed VPD map.
+     */
+    void getSystemJson(std::string& systemJson,
+                       const types::VPDMapVariant& parsedVpdMap);
+
+    /**
+     * @brief An API to read IM value from VPD.
+     *
+     * Note: Throws exception in case of error. Caller need to handle.
+     *
+     * @param[in] parsedVpd - Parsed VPD.
+     */
+    std::string getIMValue(const types::IPZVpdMap& parsedVpd) const;
+
+    /**
+     * @brief An API to read HW version from VPD.
+     *
+     * Note: Throws exception in case of error. Caller need to handle.
+     *
+     * @param[in] parsedVpd - Parsed VPD.
+     */
+    std::string getHWVersion(const types::IPZVpdMap& parsedVpd) const;
+
+    /**
+     * @brief An API to parse given VPD file path.
+     *
+     * @param[in] vpdFilePath - EEPROM file path.
+     * @param[out] parsedVpd - Parsed VPD as a map.
+     */
+    void fillVPDMap(const std::string& vpdFilePath,
+                    types::VPDMapVariant& parsedVpd);
+
+    /**
+     * @brief An API to parse and publish system VPD on D-Bus.
+     *
+     * Note: Throws exception in case of invalid VPD format.
+     *
+     * @param[in] parsedVpdMap - Parsed VPD as a map.
+     */
+    void publishSystemVPD(const types::VPDMapVariant& parsedVpdMap);
+
+    /**
+     * @brief An API to process extrainterfaces w.r.t a FRU.
+     *
+     * @param[in] singleFru - JSON block for a single FRU.
+     * @param[out] interfaces - Map to hold interface along with its properties.
+     * @param[in] parsedVpdMap - Parsed VPD as a map.
+     */
+    void processExtraInterfaces(const nlohmann::json& singleFru,
+                                types::InterfaceMap& interfaces,
+                                const types::VPDMapVariant& parsedVpdMap);
+
+    /**
+     * @brief An API to process embedded and synthesized FRUs.
+     *
+     * @param[in] singleFru - FRU to be processed.
+     * @param[out] interfaces - Map to hold interface along with its properties.
+     */
+    void processEmbeddedAndSynthesizedFrus(const nlohmann::json& singleFru,
+                                           types::InterfaceMap& interfaces);
+
+    /**
+     * @brief An API to read process FRU based in CCIN.
+     *
+     * For some FRUs VPD can be processed only if the FRU has some specific
+     * value for CCIN. In case the value is not from that set, VPD for those
+     * FRUs can't be processed.
+     *
+     * @param[in] singleFru - Fru whose CCIN value needs to be matched.
+     * @param[in] parsedVpdMap - Parsed VPD map.
+     */
+    bool processFruWithCCIN(const nlohmann::json& singleFru,
+                            const types::VPDMapVariant& parsedVpdMap);
+
+    /**
+     * @brief API to process json's inherit flag.
+     *
+     * Inherit flag denotes that some property in the child FRU needs to be
+     * inherited from parent FRU.
+     *
+     * @param[in] parsedVpdMap - Parsed VPD as a map.
+     * @param[out] interfaces - Map to hold interface along with its properties.
+     */
+    void processInheritFlag(const types::VPDMapVariant& parsedVpdMap,
+                            types::InterfaceMap& interfaces);
+
+    /**
+     * @brief API to process json's "copyRecord" flag.
+     *
+     * copyRecord flag denotes if some record data needs to be copies in the
+     * given FRU.
+     *
+     * @param[in] singleFru - FRU being processed.
+     * @param[in] parsedVpdMap - Parsed VPD as a map.
+     * @param[out] interfaces - Map to hold interface along with its properties.
+     */
+    void processCopyRecordFlag(const nlohmann::json& singleFru,
+                               const types::VPDMapVariant& parsedVpdMap,
+                               types::InterfaceMap& interfaces);
+
+    /**
+     * @brief An API to populate IPZ VPD property map.
+     *
+     * @param[out] interfacePropMap - Map of interface and properties under it.
+     * @param[in] keyordValueMap - Keyword value map of IPZ VPD.
+     * @param[in] interfaceName - Name of the interface.
+     */
+    void populateIPZVPDpropertyMap(types::InterfaceMap& interfacePropMap,
+                                   const types::IPZKwdValueMap& keyordValueMap,
+                                   const std::string& interfaceName);
+
+    /**
+     * @brief An API to populate Kwd VPD property map.
+     *
+     * @param[in] keyordValueMap - Keyword value map of Kwd VPD.
+     * @param[out] interfaceMap - interface and property,value under it.
+     */
+    void populateKwdVPDpropertyMap(const types::KeywordVpdMap& keyordVPDMap,
+                                   types::InterfaceMap& interfaceMap);
+
+    /**
+     * @brief API to populate all required interface for a FRU.
+     *
+     * @param[in] interfaceJson - JSON containing interfaces to be populated.
+     * @param[out] interfaceMap - Map to hold populated interfaces.
+     * @param[in] parsedVpdMap - Parsed VPD as a map.
+     */
+    void populateInterfaces(const nlohmann::json& interfaceJson,
+                            types::InterfaceMap& interfaceMap,
+                            const types::VPDMapVariant& parsedVpdMap);
+
+    /**
+     * @brief Helper function to insert or merge in map.
+     *
+     * This method checks in the given inventory::InterfaceMap if the given
+     * interface key is existing or not. If the interface key already exists,
+     * given property map is inserted into it. If the key does'nt exist then
+     * given interface and property map pair is newly created. If the property
+     * present in propertymap already exist in the InterfaceMap, then the new
+     * property value is ignored.
+     *
+     * @param[in,out] interfaceMap - map object of type inventory::InterfaceMap
+     * only.
+     * @param[in] interface - Interface name.
+     * @param[in] property - new property map that needs to be emplaced.
+     */
+    void insertOrMerge(types::InterfaceMap& interfaceMap,
+                       const std::string& interface,
+                       types::PropertyMap&& property);
+
+    /**
+     * @brief Check if the given CPU is an IO only chip.
+     *
+     * The CPU is termed as IO, whose all of the cores are bad and can never be
+     * used. Those CPU chips can be used for IO purpose like connecting PCIe
+     * devices etc., The CPU whose every cores are bad, can be identified from
+     * the CP00 record's PG keyword, only if all of the 8 EQs' value equals
+     * 0xE7F9FF. (1EQ has 4 cores grouped together by sharing its cache memory.)
+     *
+     * @param [in] pgKeyword - PG Keyword of CPU.
+     * @return true if the given cpu is an IO, false otherwise.
+     */
+    bool isCPUIOGoodOnly(const std::string& pgKeyword);
+
+    /**
+     * @brief API to prime inventory Objects.
+     *
+     * @param[in] i_vpdFilePath - EEPROM file path.
+     * @return true if the prime inventory is success, false otherwise.
+     */
+    bool primeInventory(const std::string& i_vpdFilePath);
+
+    /**
+     * @brief API to process preAction(base_action) defined in config JSON.
+     *
+     * @note sequence of tags under any given flag of preAction is EXTREMELY
+     * important to ensure proper processing. The API will process all the
+     * nested items under the base action sequentially. Also if any of the tag
+     * processing fails, the code will not process remaining tags under the
+     * flag.
+     * ******** sample format **************
+     * fru EEPROM path: {
+     *     base_action: {
+     *         flag1: {
+     *           tag1: {
+     *            },
+     *           tag2: {
+     *            }
+     *         }
+     *         flag2: {
+     *           tags: {
+     *            }
+     *         }
+     *     }
+     * }
+     * *************************************
+     *
+     * @param[in] i_vpdFilePath - Path to the EEPROM file.
+     * @param[in] i_flagToProcess - To identify which flag(s) needs to be
+     * processed under PreAction tag of config JSON.
+     * @return Execution status.
+     */
+    bool processPreAction(const std::string& i_vpdFilePath,
+                          const std::string& i_flagToProcess);
+
+    /**
+     * @brief API to process postAction(base_action) defined in config JSON.
+     *
+     * @note Sequence of tags under any given flag of postAction is EXTREMELY
+     * important to ensure proper processing. The API will process all the
+     * nested items under the base action sequentially. Also if any of the tag
+     * processing fails, the code will not process remaining tags under the
+     * flag.
+     * ******** sample format **************
+     * fru EEPROM path: {
+     *     base_action: {
+     *         flag1: {
+     *           tag1: {
+     *            },
+     *           tag2: {
+     *            }
+     *         }
+     *         flag2: {
+     *           tags: {
+     *            }
+     *         }
+     *     }
+     * }
+     * *************************************
+     * Also, if post action is required to be processed only for FRUs with
+     * certain CCIN then CCIN list can be provided under flag.
+     *
+     * @param[in] i_vpdFruPath - Path to the EEPROM file.
+     * @param[in] i_flagToProcess - To identify which flag(s) needs to be
+     * processed under postAction tag of config JSON.
+     * @param[in] i_parsedVpd - Optional Parsed VPD map. If CCIN match is
+     * required.
+     * @return Execution status.
+     */
+    bool processPostAction(
+        const std::string& i_vpdFruPath, const std::string& i_flagToProcess,
+        const std::optional<types::VPDMapVariant> i_parsedVpd = std::nullopt);
+
+    /**
+     * @brief Function to enable and bring MUX out of idle state.
+     *
+     * This finds all the MUX defined in the system json and enables them by
+     * setting the holdidle parameter to 0.
+     *
+     * @throw std::runtime_error
+     */
+    void enableMuxChips();
+
+    /**
+     * @brief An API to perform backup or restore of VPD.
+     *
+     * @param[in,out] io_srcVpdMap - Source VPD map.
+     */
+    void performBackupAndRestore(types::VPDMapVariant& io_srcVpdMap);
+
+    /**
+     * @brief API to update "Functional" property.
+     *
+     * The API sets the default value for "Functional" property once if the
+     * property is not yet populated over DBus. As the property value is not
+     * controlled by the VPD-Collection process, if it is found already
+     * populated, the functions skips re-populating the property so that already
+     * existing value can be retained.
+     *
+     * @param[in] i_inventoryObjPath - Inventory path as read from config JSON.
+     * @param[in] io_interfaces - Map to hold all the interfaces for the FRU.
+     */
+    void processFunctionalProperty(const std::string& i_inventoryObjPath,
+                                   types::InterfaceMap& io_interfaces);
+
+    /**
+     * @brief API to update "enabled" property.
+     *
+     * The API sets the default value for "enabled" property once if the
+     * property is not yet populated over DBus. As the property value is not
+     * controlled by the VPD-Collection process, if it is found already
+     * populated, the functions skips re-populating the property so that already
+     * existing value can be retained.
+     *
+     * @param[in] i_inventoryObjPath - Inventory path as read from config JSON.
+     * @param[in] io_interfaces - Map to hold all the interfaces for the FRU.
+     */
+    void processEnabledProperty(const std::string& i_inventoryObjPath,
+                                types::InterfaceMap& io_interfaces);
+
+    /**
+     * @brief API to form asset tag string for the system.
+     *
+     * @param[in] i_parsedVpdMap - Parsed VPD map.
+     *
+     * @throw std::runtime_error
+     *
+     * @return - Formed asset tag string.
+     */
+    std::string
+        createAssetTagString(const types::VPDMapVariant& i_parsedVpdMap);
+
+    /**
+     * @brief API to prime system blueprint.
+     *
+     * The API will traverse the system config JSON and will prime all the FRU
+     * paths which qualifies for priming.
+     */
+    void primeSystemBlueprint();
+
+    /**
+     * @brief API to set symbolic link for system config JSON.
+     *
+     * Once correct device tree is set, symbolic link to the correct sytsem
+     * config JSON is set to be used in subsequent BMC boot.
+     *
+     * @param[in] i_systemJson - system config JSON.
+     */
+    void setJsonSymbolicLink(const std::string& i_systemJson);
+
+    // Parsed JSON file.
+    nlohmann::json m_parsedJson{};
+
+    // Hold if symlink is present or not.
+    bool m_isSymlinkPresent = false;
+
+    // Path to config JSON if applicable.
+    std::string& m_configJsonPath;
+
+    // Keeps track of active thread(s) doing VPD collection.
+    size_t m_activeCollectionThreadCount = 0;
+
+    // Holds status, if VPD collection has been done or not.
+    // Note: This variable does not give information about successfull or failed
+    // collection. It just states, if the VPD collection process is over or not.
+    bool m_isAllFruCollected = false;
+
+    // To distinguish the factory reset path.
+    bool m_isFactoryResetDone = false;
+
+    // Mutex to guard critical resource m_activeCollectionThreadCount.
+    std::mutex m_mutex;
+
+    // Counting semaphore to limit the number of threads.
+    std::counting_semaphore<constants::MAX_THREADS> m_semaphore{
+        constants::MAX_THREADS};
+};
+} // namespace vpd
diff --git a/vpd-manager/manager.cpp b/vpd-manager/manager.cpp
deleted file mode 100644
index 8913474..0000000
--- a/vpd-manager/manager.cpp
+++ /dev/null
@@ -1,918 +0,0 @@
-#include "config.h"
-
-#include "manager.hpp"
-
-#include "common_utility.hpp"
-#include "editor_impl.hpp"
-#include "ibm_vpd_utils.hpp"
-#include "ipz_parser.hpp"
-#include "parser_factory.hpp"
-#include "reader_impl.hpp"
-#include "vpd_exceptions.hpp"
-
-#include <unistd.h>
-
-#include <phosphor-logging/elog-errors.hpp>
-#include <xyz/openbmc_project/Common/error.hpp>
-
-#include <filesystem>
-
-using namespace openpower::vpd::constants;
-using namespace openpower::vpd::inventory;
-using namespace openpower::vpd::manager::editor;
-using namespace openpower::vpd::manager::reader;
-using namespace std;
-using namespace openpower::vpd::parser;
-using namespace openpower::vpd::parser::factory;
-using namespace openpower::vpd::ipz::parser;
-using namespace openpower::vpd::exceptions;
-using namespace phosphor::logging;
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-
-Manager::Manager(std::shared_ptr<boost::asio::io_context>& ioCon,
-                 std::shared_ptr<sdbusplus::asio::dbus_interface>& iFace,
-                 std::shared_ptr<sdbusplus::asio::connection>& conn) :
-    ioContext(ioCon), interface(iFace), conn(conn)
-{
-    interface->register_method(
-        "WriteKeyword",
-        [this](const sdbusplus::message::object_path& path,
-               const std::string& recordName, const std::string& keyword,
-               const Binary& value) {
-            this->writeKeyword(path, recordName, keyword, value);
-        });
-
-    interface->register_method(
-        "GetFRUsByUnexpandedLocationCode",
-        [this](const std::string& locationCode,
-               const uint16_t nodeNumber) -> inventory::ListOfPaths {
-            return this->getFRUsByUnexpandedLocationCode(locationCode,
-                                                         nodeNumber);
-        });
-
-    interface->register_method(
-        "GetFRUsByExpandedLocationCode",
-        [this](const std::string& locationCode) -> inventory::ListOfPaths {
-            return this->getFRUsByExpandedLocationCode(locationCode);
-        });
-
-    interface->register_method(
-        "GetExpandedLocationCode",
-        [this](const std::string& locationCode,
-               const uint16_t nodeNumber) -> std::string {
-            return this->getExpandedLocationCode(locationCode, nodeNumber);
-        });
-
-    interface->register_method("PerformVPDRecollection", [this]() {
-        this->performVPDRecollection();
-    });
-
-    interface->register_method(
-        "deleteFRUVPD", [this](const sdbusplus::message::object_path& path) {
-            this->deleteFRUVPD(path);
-        });
-
-    interface->register_method(
-        "CollectFRUVPD", [this](const sdbusplus::message::object_path& path) {
-            this->collectFRUVPD(path);
-        });
-
-    sd_bus_default(&sdBus);
-    initManager();
-}
-
-void Manager::initManager()
-{
-    try
-    {
-        processJSON();
-        restoreSystemVpd();
-        listenHostState();
-        listenAssetTag();
-
-        // Create an instance of the BIOS handler
-        biosHandler = std::make_shared<BiosHandler>(conn, *this);
-
-        // instantiate gpioMonitor class
-        gpioMon = std::make_shared<GpioMonitor>(jsonFile, ioContext);
-    }
-    catch (const std::exception& e)
-    {
-        std::cerr << e.what() << "\n";
-    }
-}
-
-/**
- * @brief An api to get list of blank system VPD properties.
- * @param[in] vpdMap - IPZ vpd map.
- * @param[in] objectPath - Object path for the FRU.
- * @param[out] blankPropertyList - Properties which are blank in System VPD and
- * needs to be updated as standby.
- */
-static void
-    getListOfBlankSystemVpd(Parsed& vpdMap, const string& objectPath,
-                            std::vector<RestoredEeproms>& blankPropertyList)
-{
-    for (const auto& systemRecKwdPair : svpdKwdMap)
-    {
-        auto it = vpdMap.find(systemRecKwdPair.first);
-
-        // check if record is found in map we got by parser
-        if (it != vpdMap.end())
-        {
-            const auto& kwdListForRecord = systemRecKwdPair.second;
-            for (const auto& keywordInfo : kwdListForRecord)
-            {
-                const auto& keyword = get<0>(keywordInfo);
-
-                DbusPropertyMap& kwdValMap = it->second;
-                auto iterator = kwdValMap.find(keyword);
-
-                if (iterator != kwdValMap.end())
-                {
-                    string& kwdValue = iterator->second;
-
-                    // check bus data
-                    const string& recordName = systemRecKwdPair.first;
-                    const string& busValue = readBusProperty(
-                        objectPath, ipzVpdInf + recordName, keyword);
-
-                    const auto& defaultValue = get<1>(keywordInfo);
-
-                    if (Binary(busValue.begin(), busValue.end()) !=
-                        defaultValue)
-                    {
-                        if (Binary(kwdValue.begin(), kwdValue.end()) ==
-                            defaultValue)
-                        {
-                            // implies data is blank on EEPROM but not on cache.
-                            // So EEPROM vpd update is required.
-                            Binary busData(busValue.begin(), busValue.end());
-
-                            blankPropertyList.push_back(std::make_tuple(
-                                objectPath, recordName, keyword, busData));
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
-
-void Manager::restoreSystemVpd()
-{
-    std::cout << "Attempting system VPD restore" << std::endl;
-    ParserInterface* parser = nullptr;
-    try
-    {
-        auto vpdVector = getVpdDataInVector(jsonFile, systemVpdFilePath);
-        uint32_t vpdStartOffset = 0;
-        const auto& inventoryPath =
-            jsonFile["frus"][systemVpdFilePath][0]["inventoryPath"]
-                .get_ref<const nlohmann::json::string_t&>();
-
-        parser = ParserFactory::getParser(vpdVector, (pimPath + inventoryPath),
-                                          systemVpdFilePath, vpdStartOffset);
-        auto parseResult = parser->parse();
-
-        if (auto pVal = std::get_if<Store>(&parseResult))
-        {
-            // map to hold all the keywords whose value is blank and
-            // needs to be updated at standby.
-            std::vector<RestoredEeproms> blankSystemVpdProperties{};
-            getListOfBlankSystemVpd(pVal->getVpdMap(), SYSTEM_OBJECT,
-                                    blankSystemVpdProperties);
-
-            // if system VPD restore is required, update the
-            // EEPROM
-            for (const auto& item : blankSystemVpdProperties)
-            {
-                std::cout << "Restoring keyword: " << std::get<2>(item)
-                          << std::endl;
-                writeKeyword(std::get<0>(item), std::get<1>(item),
-                             std::get<2>(item), std::get<3>(item));
-            }
-        }
-        else
-        {
-            std::cerr << "Not a valid format to restore system VPD"
-                      << std::endl;
-        }
-    }
-    catch (const std::exception& e)
-    {
-        std::cerr << "Failed to restore system VPD due to exception: "
-                  << e.what() << std::endl;
-    }
-    // release the parser object
-    ParserFactory::freeParser(parser);
-}
-
-void Manager::listenHostState()
-{
-    static std::shared_ptr<sdbusplus::bus::match_t> hostState =
-        std::make_shared<sdbusplus::bus::match_t>(
-            *conn,
-            sdbusplus::bus::match::rules::propertiesChanged(
-                "/xyz/openbmc_project/state/host0",
-                "xyz.openbmc_project.State.Host"),
-            [this](sdbusplus::message_t& msg) { hostStateCallBack(msg); });
-}
-
-void Manager::checkEssentialFrus()
-{
-    for (const auto& invPath : essentialFrus)
-    {
-        const auto res = readBusProperty(invPath, invItemIntf, "Present");
-
-        // implies the essential FRU is missing. Log PEL.
-        if (res == "false")
-        {
-            auto rc = sd_bus_call_method_async(
-                sdBus, NULL, loggerService, loggerObjectPath,
-                loggerCreateInterface, "Create", NULL, NULL, "ssa{ss}",
-                errIntfForEssentialFru,
-                "xyz.openbmc_project.Logging.Entry.Level.Warning", 2,
-                "DESCRIPTION", "Essential fru missing from the system.",
-                "CALLOUT_INVENTORY_PATH", (pimPath + invPath).c_str());
-
-            if (rc < 0)
-            {
-                log<level::ERR>("Error calling sd_bus_call_method_async",
-                                entry("RC=%d", rc),
-                                entry("MSG=%s", strerror(-rc)));
-            }
-        }
-    }
-}
-
-void Manager::hostStateCallBack(sdbusplus::message_t& msg)
-{
-    if (msg.is_method_error())
-    {
-        std::cerr << "Error in reading signal " << std::endl;
-    }
-
-    Path object;
-    PropertyMap propMap;
-    msg.read(object, propMap);
-    const auto itr = propMap.find("CurrentHostState");
-    if (itr != propMap.end())
-    {
-        if (auto hostState = std::get_if<std::string>(&(itr->second)))
-        {
-            // implies system is moving from standby to power on state
-            if (*hostState == "xyz.openbmc_project.State.Host.HostState."
-                              "TransitioningToRunning")
-            {
-                // detect if essential frus are present in the system.
-                checkEssentialFrus();
-
-                // check and perform recollection for FRUs replaceable at
-                // standby.
-                performVPDRecollection();
-                return;
-            }
-        }
-    }
-}
-
-void Manager::listenAssetTag()
-{
-    static std::shared_ptr<sdbusplus::bus::match_t> assetMatcher =
-        std::make_shared<sdbusplus::bus::match_t>(
-            *conn,
-            sdbusplus::bus::match::rules::propertiesChanged(
-                "/xyz/openbmc_project/inventory/system",
-                "xyz.openbmc_project.Inventory.Decorator.AssetTag"),
-            [this](sdbusplus::message_t& msg) { assetTagCallback(msg); });
-}
-
-void Manager::assetTagCallback(sdbusplus::message_t& msg)
-{
-    if (msg.is_method_error())
-    {
-        std::cerr << "Error in reading signal " << std::endl;
-    }
-
-    Path object;
-    PropertyMap propMap;
-    msg.read(object, propMap);
-    const auto itr = propMap.find("AssetTag");
-    if (itr != propMap.end())
-    {
-        if (auto assetTag = std::get_if<std::string>(&(itr->second)))
-        {
-            // Call Notify to persist the AssetTag
-            inventory::ObjectMap objectMap = {
-                {std::string{"/system"},
-                 {{"xyz.openbmc_project.Inventory.Decorator.AssetTag",
-                   {{"AssetTag", *assetTag}}}}}};
-
-            common::utility::callPIM(std::move(objectMap));
-        }
-        else
-        {
-            std::cerr << "Failed to read asset tag" << std::endl;
-        }
-    }
-}
-
-void Manager::processJSON()
-{
-    std::ifstream json(INVENTORY_JSON_SYM_LINK, std::ios::binary);
-
-    if (!json)
-    {
-        throw std::runtime_error("json file not found");
-    }
-
-    jsonFile = nlohmann::json::parse(json);
-    if (jsonFile.find("frus") == jsonFile.end())
-    {
-        throw std::runtime_error("frus group not found in json");
-    }
-
-    const nlohmann::json& groupFRUS =
-        jsonFile["frus"].get_ref<const nlohmann::json::object_t&>();
-    for (const auto& itemFRUS : groupFRUS.items())
-    {
-        const std::vector<nlohmann::json>& groupEEPROM =
-            itemFRUS.value().get_ref<const nlohmann::json::array_t&>();
-        for (const auto& itemEEPROM : groupEEPROM)
-        {
-            bool isMotherboard = false;
-            std::string redundantPath;
-
-            if (itemEEPROM["extraInterfaces"].find(
-                    "xyz.openbmc_project.Inventory.Item.Board.Motherboard") !=
-                itemEEPROM["extraInterfaces"].end())
-            {
-                isMotherboard = true;
-            }
-            if (itemEEPROM.find("redundantEeprom") != itemEEPROM.end())
-            {
-                redundantPath = itemEEPROM["redundantEeprom"]
-                                    .get_ref<const nlohmann::json::string_t&>();
-            }
-            frus.emplace(
-                itemEEPROM["inventoryPath"]
-                    .get_ref<const nlohmann::json::string_t&>(),
-                std::make_tuple(itemFRUS.key(), redundantPath, isMotherboard));
-
-            if (itemEEPROM["extraInterfaces"].find(IBM_LOCATION_CODE_INF) !=
-                itemEEPROM["extraInterfaces"].end())
-            {
-                fruLocationCode.emplace(
-                    itemEEPROM["extraInterfaces"][IBM_LOCATION_CODE_INF]
-                              ["LocationCode"]
-                                  .get_ref<const nlohmann::json::string_t&>(),
-                    itemEEPROM["inventoryPath"]
-                        .get_ref<const nlohmann::json::string_t&>());
-            }
-
-            if (itemEEPROM.value("replaceableAtStandby", false))
-            {
-                replaceableFrus.emplace_back(itemFRUS.key());
-            }
-
-            if (itemEEPROM.value("essentialFru", false))
-            {
-                essentialFrus.emplace_back(itemEEPROM["inventoryPath"]);
-            }
-        }
-    }
-}
-
-void Manager::updateSystemVPDBackUpFRU(const std::string& recordName,
-                                       const std::string& keyword,
-                                       const Binary& value)
-{
-    const std::string& systemVpdBackupPath =
-        jsonFile["frus"][systemVpdFilePath].at(0).value("systemVpdBackupPath",
-                                                        "");
-
-    if (!systemVpdBackupPath.empty() &&
-        jsonFile["frus"][systemVpdBackupPath].at(0).contains("inventoryPath"))
-    {
-        std::string systemVpdBackupInvPath =
-            jsonFile["frus"][systemVpdBackupPath][0]["inventoryPath"]
-                .get_ref<const nlohmann::json::string_t&>();
-
-        const auto& itr = svpdKwdMap.find(recordName);
-        if (itr != svpdKwdMap.end())
-        {
-            auto systemKwdInfoList = itr->second;
-            const auto& itrToKwd =
-                find_if(systemKwdInfoList.begin(), systemKwdInfoList.end(),
-                        [&keyword](const auto& kwdInfo) {
-                            return (keyword == std::get<0>(kwdInfo));
-                        });
-
-            if (itrToKwd != systemKwdInfoList.end())
-            {
-                EditorImpl edit(systemVpdBackupPath, jsonFile,
-                                std::get<4>(*itrToKwd), std::get<5>(*itrToKwd),
-                                systemVpdBackupInvPath);
-
-                // Setup offset, if any
-                uint32_t offset = 0;
-                if (jsonFile["frus"][systemVpdBackupPath].at(0).contains(
-                        "offset"))
-                {
-                    offset =
-                        jsonFile["frus"][systemVpdBackupPath].at(0).contains(
-                            "offset");
-                }
-
-                edit.updateKeyword(value, offset, true);
-            }
-        }
-    }
-    else
-    {
-        if (systemVpdBackupPath.empty())
-        {
-            throw std::runtime_error(
-                "Invalid entry for systemVpdBackupPath in JSON");
-        }
-        else
-        {
-            throw std::runtime_error(
-                "Inventory path missing for systemVpdBackupPath");
-        }
-    }
-}
-
-void Manager::writeKeyword(const sdbusplus::message::object_path& path,
-                           const std::string& recordName,
-                           const std::string& keyword, const Binary& value)
-{
-    try
-    {
-        std::string objPath{path};
-        // Strip any inventory prefix in path
-        if (objPath.find(INVENTORY_PATH) == 0)
-        {
-            objPath = objPath.substr(sizeof(INVENTORY_PATH) - 1);
-        }
-
-        if (frus.find(objPath) == frus.end())
-        {
-            throw std::runtime_error("Inventory path not found");
-        }
-
-        inventory::Path vpdFilePath = std::get<0>(frus.find(objPath)->second);
-
-        // instantiate editor class to update the data
-        EditorImpl edit(vpdFilePath, jsonFile, recordName, keyword, objPath);
-
-        uint32_t offset = 0;
-        // Setup offset, if any
-        for (const auto& item : jsonFile["frus"][vpdFilePath])
-        {
-            if (item.find("offset") != item.end())
-            {
-                offset = item["offset"];
-                break;
-            }
-        }
-
-        edit.updateKeyword(value, offset, true);
-
-        // If system VPD is being updated and system VPD is marked for back up
-        // on another FRU, update data on back up as well.
-        if (objPath == sdbusplus::message::object_path{SYSTEM_OBJECT} &&
-            jsonFile["frus"][systemVpdFilePath].at(0).contains(
-                "systemVpdBackupPath"))
-        {
-            updateSystemVPDBackUpFRU(recordName, keyword, value);
-        }
-
-        // If we have a redundant EEPROM to update, then update just the EEPROM,
-        // not the cache since that is already done when we updated the primary
-        if (!std::get<1>(frus.find(objPath)->second).empty())
-        {
-            EditorImpl edit(std::get<1>(frus.find(objPath)->second), jsonFile,
-                            recordName, keyword, objPath);
-            edit.updateKeyword(value, offset, false);
-        }
-
-        // if it is a motehrboard FRU need to check for location expansion
-        if (std::get<2>(frus.find(objPath)->second))
-        {
-            if (recordName == "VCEN" && (keyword == "FC" || keyword == "SE"))
-            {
-                edit.expandLocationCode("fcs");
-            }
-            else if (recordName == "VSYS" &&
-                     (keyword == "TM" || keyword == "SE"))
-            {
-                edit.expandLocationCode("mts");
-            }
-        }
-
-        return;
-    }
-    catch (const std::exception& e)
-    {
-        std::cerr << e.what() << std::endl;
-    }
-}
-
-ListOfPaths Manager::getFRUsByUnexpandedLocationCode(
-    const LocationCode& locationCode, const NodeNumber nodeNumber)
-{
-    ReaderImpl read;
-    return read.getFrusAtLocation(locationCode, nodeNumber, fruLocationCode);
-}
-
-ListOfPaths
-    Manager::getFRUsByExpandedLocationCode(const LocationCode& locationCode)
-{
-    ReaderImpl read;
-    return read.getFRUsByExpandedLocationCode(locationCode, fruLocationCode);
-}
-
-LocationCode Manager::getExpandedLocationCode(const LocationCode& locationCode,
-                                              const NodeNumber nodeNumber)
-{
-    ReaderImpl read;
-    return read.getExpandedLocationCode(locationCode, nodeNumber,
-                                        fruLocationCode);
-}
-
-void Manager::performVPDRecollection()
-{
-    // get list of FRUs replaceable at standby
-    for (const auto& item : replaceableFrus)
-    {
-        const vector<nlohmann::json>& groupEEPROM = jsonFile["frus"][item];
-        const nlohmann::json& singleFru = groupEEPROM[0];
-
-        const string& inventoryPath =
-            singleFru["inventoryPath"]
-                .get_ref<const nlohmann::json::string_t&>();
-
-        bool prePostActionRequired = false;
-
-        if ((jsonFile["frus"][item].at(0)).find("preAction") !=
-            jsonFile["frus"][item].at(0).end())
-        {
-            try
-            {
-                if (!executePreAction(jsonFile, item))
-                {
-                    // if the FRU has preAction defined then its execution
-                    // should pass to ensure bind/unbind of data.
-                    // preAction execution failed. should not call
-                    // bind/unbind.
-                    log<level::ERR>(
-                        "Pre-Action execution failed for the FRU",
-                        entry("ERROR=%s",
-                              ("Inventory path: " + inventoryPath).c_str()));
-
-                    // As recollection failed delete FRU data.
-                    deleteFRUVPD(inventoryPath);
-                    continue;
-                }
-            }
-            catch (const GpioException& e)
-            {
-                log<level::ERR>(e.what());
-                PelAdditionalData additionalData{};
-                additionalData.emplace("DESCRIPTION", e.what());
-                createPEL(additionalData, PelSeverity::WARNING,
-                          errIntfForGpioError, sdBus);
-
-                // As recollection failed delete FRU data.
-                deleteFRUVPD(inventoryPath);
-
-                continue;
-            }
-            prePostActionRequired = true;
-        }
-
-        // unbind, bind the driver to trigger parser.
-        triggerVpdCollection(singleFru, inventoryPath);
-
-        // this check is added to avoid file system expensive call in case not
-        // required.
-        if (prePostActionRequired)
-        {
-            // The sleep of 1sec is sliced up in 10 retries of 10 milliseconds
-            // each.
-            for (auto retryCounter = VALUE_0; retryCounter <= VALUE_10;
-                 retryCounter++)
-            {
-                // sleep for 10 millisecond
-                if (usleep(VALUE_100000) != VALUE_0)
-                {
-                    std::cout << "Sleep failed before accessing the file"
-                              << std::endl;
-                }
-
-                // Check if file showed up
-                if (!filesystem::exists(item))
-                {
-                    // Do we need to retry?
-                    if (retryCounter < VALUE_10)
-                    {
-                        continue;
-                    }
-
-                    try
-                    {
-                        // If not, then take failure postAction
-                        executePostFailAction(jsonFile, item);
-
-                        // As recollection failed delete FRU data.
-                        deleteFRUVPD(inventoryPath);
-                    }
-                    catch (const GpioException& e)
-                    {
-                        PelAdditionalData additionalData{};
-                        additionalData.emplace("DESCRIPTION", e.what());
-                        createPEL(additionalData, PelSeverity::WARNING,
-                                  errIntfForGpioError, sdBus);
-
-                        // As recollection failed delete FRU data.
-                        deleteFRUVPD(inventoryPath);
-                    }
-                }
-                else
-                {
-                    // bind the LED driver
-                    string chipAddr = singleFru.value("pcaChipAddress", "");
-                    cout
-                        << "performVPDRecollection: Executing driver binding for "
-                           "chip "
-                           "address - "
-                        << chipAddr << endl;
-
-                    executeCmd(createBindUnbindDriverCmnd(
-                        chipAddr, "i2c", "leds-pca955x", "/bind"));
-
-                    // File has been found, kill the retry loop.
-                    break;
-                }
-            }
-        }
-    }
-}
-
-void Manager::collectFRUVPD(const sdbusplus::message::object_path& path)
-{
-    std::cout << "Manager called to collect vpd for fru: " << std::string{path}
-              << std::endl;
-
-    using InvalidArgument =
-        sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument;
-    using Argument = xyz::openbmc_project::Common::InvalidArgument;
-
-    std::string objPath{path};
-
-    // Strip any inventory prefix in path
-    if (objPath.find(INVENTORY_PATH) == 0)
-    {
-        objPath = objPath.substr(sizeof(INVENTORY_PATH) - 1);
-    }
-
-    // if path not found in Json.
-    if (frus.find(objPath) == frus.end())
-    {
-        elog<InvalidArgument>(Argument::ARGUMENT_NAME("Object Path"),
-                              Argument::ARGUMENT_VALUE(objPath.c_str()));
-    }
-
-    inventory::Path vpdFilePath = std::get<0>(frus.find(objPath)->second);
-
-    const std::vector<nlohmann::json>& groupEEPROM =
-        jsonFile["frus"][vpdFilePath].get_ref<const nlohmann::json::array_t&>();
-
-    nlohmann::json singleFru{};
-    for (const auto& item : groupEEPROM)
-    {
-        if (item["inventoryPath"] == objPath)
-        {
-            // this is the inventory we are looking for
-            singleFru = item;
-            break;
-        }
-    }
-
-    // check if the device qualifies for CM.
-    if (singleFru.value("concurrentlyMaintainable", false))
-    {
-        bool prePostActionRequired = false;
-
-        if ((jsonFile["frus"][vpdFilePath].at(0)).find("preAction") !=
-            jsonFile["frus"][vpdFilePath].at(0).end())
-        {
-            if (!executePreAction(jsonFile, vpdFilePath))
-            {
-                // if the FRU has preAction defined then its execution should
-                // pass to ensure bind/unbind of data.
-                // preAction execution failed. should not call bind/unbind.
-                log<level::ERR>("Pre-Action execution failed for the FRU");
-                return;
-            }
-
-            prePostActionRequired = true;
-        }
-
-        // unbind, bind the driver to trigger parser.
-        triggerVpdCollection(singleFru, objPath);
-
-        // this check is added to avoid file system expensive call in case not
-        // required.
-        if (prePostActionRequired)
-        {
-            // Check if device showed up (test for file)
-            if (!filesystem::exists(vpdFilePath))
-            {
-                try
-                {
-                    // If not, then take failure postAction
-                    executePostFailAction(jsonFile, vpdFilePath);
-                }
-                catch (const GpioException& e)
-                {
-                    PelAdditionalData additionalData{};
-                    additionalData.emplace("DESCRIPTION", e.what());
-                    createPEL(additionalData, PelSeverity::WARNING,
-                              errIntfForGpioError, sdBus);
-                }
-            }
-            else
-            {
-                // bind the LED driver
-                string chipAddr = jsonFile["frus"][vpdFilePath].at(0).value(
-                    "pcaChipAddress", "");
-                cout << "Executing driver binding for chip address - "
-                     << chipAddr << endl;
-
-                executeCmd(createBindUnbindDriverCmnd(chipAddr, "i2c",
-                                                      "leds-pca955x", "/bind"));
-            }
-        }
-        return;
-    }
-    else
-    {
-        elog<InvalidArgument>(Argument::ARGUMENT_NAME("Object Path"),
-                              Argument::ARGUMENT_VALUE(objPath.c_str()));
-    }
-}
-
-void Manager::triggerVpdCollection(const nlohmann::json& singleFru,
-                                   const std::string& path)
-{
-    if ((singleFru.find("devAddress") == singleFru.end()) ||
-        (singleFru.find("driverType") == singleFru.end()) ||
-        (singleFru.find("busType") == singleFru.end()))
-    {
-        // The FRUs is marked for collection but missing mandatory
-        // fields for collection. Log error and return.
-        log<level::ERR>(
-            "Collection Failed as mandatory field missing in Json",
-            entry("ERROR=%s", ("Recollection failed for " + (path)).c_str()));
-
-        return;
-    }
-
-    string deviceAddress = singleFru["devAddress"];
-    const string& driverType = singleFru["driverType"];
-    const string& busType = singleFru["busType"];
-
-    // devTreeStatus flag is present in json as false to mention
-    // that the EEPROM is not mentioned in device tree. If this flag
-    // is absent consider the value to be true, i.e EEPROM is
-    // mentioned in device tree
-    if (!singleFru.value("devTreeStatus", true))
-    {
-        auto pos = deviceAddress.find('-');
-        if (pos != string::npos)
-        {
-            string busNum = deviceAddress.substr(0, pos);
-            deviceAddress = "0x" + deviceAddress.substr(pos + 1, string::npos);
-
-            string deleteDevice =
-                "echo" + deviceAddress + " > /sys/bus/" + busType +
-                "/devices/" + busType + "-" + busNum + "/delete_device";
-            executeCmd(deleteDevice);
-
-            string addDevice =
-                "echo" + driverType + " " + deviceAddress + " > /sys/bus/" +
-                busType + "/devices/" + busType + "-" + busNum + "/new_device";
-            executeCmd(addDevice);
-        }
-        else
-        {
-            const string& inventoryPath =
-                singleFru["inventoryPath"]
-                    .get_ref<const nlohmann::json::string_t&>();
-
-            log<level::ERR>(
-                "Wrong format of device address in Json",
-                entry("ERROR=%s",
-                      ("Recollection failed for " + inventoryPath).c_str()));
-        }
-    }
-    else
-    {
-        executeCmd(createBindUnbindDriverCmnd(deviceAddress, busType,
-                                              driverType, "/unbind"));
-        executeCmd(createBindUnbindDriverCmnd(deviceAddress, busType,
-                                              driverType, "/bind"));
-    }
-}
-
-void Manager::deleteFRUVPD(const sdbusplus::message::object_path& path)
-{
-    std::cout << "Manager called to delete vpd for fru: " << std::string{path}
-              << std::endl;
-
-    using InvalidArgument =
-        sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument;
-    using Argument = xyz::openbmc_project::Common::InvalidArgument;
-
-    std::string objPath{path};
-
-    // Strip any inventory prefix in path
-    if (objPath.find(INVENTORY_PATH) == 0)
-    {
-        objPath = objPath.substr(sizeof(INVENTORY_PATH) - 1);
-    }
-
-    // if path not found in Json.
-    if (frus.find(objPath) == frus.end())
-    {
-        elog<InvalidArgument>(Argument::ARGUMENT_NAME("Object Path"),
-                              Argument::ARGUMENT_VALUE(objPath.c_str()));
-    }
-
-    inventory::Path& vpdFilePath = std::get<0>(frus.find(objPath)->second);
-
-    string chipAddress =
-        jsonFile["frus"][vpdFilePath].at(0).value("pcaChipAddress", "");
-
-    // if the FRU is present, then unbind the LED driver if any
-    if (readBusProperty(objPath, "xyz.openbmc_project.Inventory.Item",
-                        "Present") == "true")
-    {
-        // check if we have cxp-port populated for the given object path.
-        std::vector<std::string> interfaceList{
-            "xyz.openbmc_project.State.Decorator.OperationalStatus"};
-        MapperResponse subTree = getObjectSubtreeForInterfaces(
-            INVENTORY_PATH + objPath, 0, interfaceList);
-
-        if (subTree.size() != 0)
-        {
-            for (auto [objectPath, serviceInterfaceMap] : subTree)
-            {
-                std::string subTreeObjPath{objectPath};
-
-                // Strip any inventory prefix in path
-                if (subTreeObjPath.find(INVENTORY_PATH) == 0)
-                {
-                    subTreeObjPath =
-                        subTreeObjPath.substr(sizeof(INVENTORY_PATH) - 1);
-                }
-
-                inventory::ObjectMap objectMap{
-                    {subTreeObjPath,
-                     {{"xyz.openbmc_project.State.Decorator.OperationalStatus",
-                       {{"Functional", true}}},
-                      {"xyz.openbmc_project.Inventory.Item",
-                       {{"Present", false}}}}}};
-
-                // objectMap.emplace(objectPath, move(interfaceMap));
-                common::utility::callPIM(move(objectMap));
-            }
-        }
-
-        // Unbind the LED driver for this FRU
-        cout << "Unbinding device- " << chipAddress << endl;
-        executeCmd(createBindUnbindDriverCmnd(chipAddress, "i2c",
-                                              "leds-pca955x", "/unbind"));
-
-        inventory::InterfaceMap interfacesPropMap;
-        clearVpdOnRemoval(INVENTORY_PATH + objPath, interfacesPropMap);
-
-        inventory::ObjectMap objectMap;
-        objectMap.emplace(objPath, move(interfacesPropMap));
-
-        common::utility::callPIM(move(objectMap));
-    }
-}
-
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/manager.hpp b/vpd-manager/manager.hpp
deleted file mode 100644
index ae278ac..0000000
--- a/vpd-manager/manager.hpp
+++ /dev/null
@@ -1,232 +0,0 @@
-#pragma once
-
-#include "bios_handler.hpp"
-#include "editor_impl.hpp"
-#include "gpioMonitor.hpp"
-
-#include <sdbusplus/asio/object_server.hpp>
-
-#include <map>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-
-/** @class Manager
- *  @brief OpenBMC VPD Manager implementation.
- *
- *  Implements methods under interface com.ibm.vpd.Manager.
- */
-class Manager
-{
-  public:
-    /* Define all of the basic class operations:
-     * Not allowed:
-     * - Default constructor to avoid nullptrs.
-     * - Copy operations due to internal unique_ptr.
-     * - Move operations due to 'this' being registered as the
-     *  'context' with sdbus.
-     * Allowed:
-     * - Destructor.
-     */
-    Manager() = delete;
-    Manager(const Manager&) = delete;
-    Manager& operator=(const Manager&) = delete;
-    Manager(Manager&&) = delete;
-    ~Manager()
-    {
-        sd_bus_unref(sdBus);
-    }
-
-    /** @brief Constructor.
-     *  @param[in] ioCon - IO context.
-     *  @param[in] iFace - interface to implement.
-     *  @param[in] connection - Dbus Connection.
-     */
-    Manager(std::shared_ptr<boost::asio::io_context>& ioCon,
-            std::shared_ptr<sdbusplus::asio::dbus_interface>& iFace,
-            std::shared_ptr<sdbusplus::asio::connection>& conn);
-
-    /** @brief Implementation for WriteKeyword
-     *  Api to update the keyword value for a given inventory.
-     *
-     *  @param[in] path - Path to the D-Bus object that represents the FRU.
-     *  @param[in] recordName - name of the record for which the keyword value
-     *  has to be modified
-     *  @param[in] keyword - keyword whose value needs to be updated
-     *  @param[in] value - value that needs to be updated
-     */
-    void writeKeyword(const sdbusplus::message::object_path& path,
-                      const std::string& recordName, const std::string& keyword,
-                      const Binary& value);
-
-    /** @brief Implementation for GetFRUsByUnexpandedLocationCode
-     *  A method to get list of FRU D-BUS object paths for a given unexpanded
-     *  location code. Returns empty vector if no FRU found for that location
-     *  code.
-     *
-     *  @param[in] locationCode - An un-expanded Location code.
-     *  @param[in] nodeNumber - Denotes the node in case of a multi-node
-     *  configuration, ignored on a single node system.
-     *
-     *  @return inventoryList[std::vector<sdbusplus::message::object_path>] -
-     *  List of all the FRUs D-Bus object paths for the given location code.
-     */
-    inventory::ListOfPaths getFRUsByUnexpandedLocationCode(
-        const std::string& locationCode, const uint16_t nodeNumber);
-
-    /** @brief Implementation for GetFRUsByExpandedLocationCode
-     *  A method to get list of FRU D-BUS object paths for a given expanded
-     *  location code. Returns empty vector if no FRU found for that location
-     *  code.
-     *
-     *  @param[in] locationCode - Location code in expanded format.
-     *
-     *  @return inventoryList[std::vector<sdbusplus::message::object_path>] -
-     *  List of all the FRUs D-Bus object path for the given location code.
-     */
-    inventory::ListOfPaths
-        getFRUsByExpandedLocationCode(const std::string& locationCode);
-
-    /** @brief Implementation for GetExpandedLocationCode
-     *  An API to get expanded location code corresponding to a given
-     *  un-expanded location code.
-     *
-     *  @param[in] locationCode - Location code in un-expaned format.
-     *  @param[in] nodeNumber - Denotes the node in case of multi-node
-     *  configuration. Ignored in case of single node configuration.
-     *
-     *  @return locationCode[std::string] - Location code in expanded format.
-     */
-    std::string getExpandedLocationCode(const std::string& locationCode,
-                                        const uint16_t nodeNumber);
-
-    /** @brief Api to perform VPD recollection.
-     * This api will trigger parser to perform VPD recollection for FRUs that
-     * can be replaced at standby.
-     */
-    void performVPDRecollection();
-
-    /** @brief Api to delete FRU VPD.
-     * This api will set the present property of given FRU to false. If already
-     * set to false, It will log an error.
-     * @param[in] path - Object path of FRU.
-     */
-    void deleteFRUVPD(const sdbusplus::message::object_path& path);
-
-    /** @brief Api to perform VPD collection for a single fru.
-     *  @param[in] path - Dbus object path of that fru.
-     */
-    void collectFRUVPD(const sdbusplus::message::object_path& path);
-
-  private:
-    /**
-     * @brief An api to process some initial requirements.
-     */
-    void initManager();
-
-    /** @brief process the given JSON file
-     */
-    void processJSON();
-
-    /** @brief Api to register host state callback.
-     * This api will register callback to listen for host state property change.
-     */
-    void listenHostState();
-
-    /** @brief Callback to listen for Host state change
-     *  @param[in] msg - callback message.
-     */
-    void hostStateCallBack(sdbusplus::message_t& msg);
-
-    /** @brief Api to register AssetTag property change.
-     * This api will register callback to listen for asset tag property change.
-     */
-    void listenAssetTag();
-
-    /** @brief Callback to listen for Asset tag change
-     *  @param[in] msg - callback message.
-     */
-    void assetTagCallback(sdbusplus::message_t& msg);
-
-    /**
-     * @brief Restores and defaulted VPD on the system VPD EEPROM.
-     *
-     * This function will read the system VPD EEPROM and check if any of the
-     * keywords that need to be preserved across FRU replacements are defaulted
-     * in the EEPROM. If they are, this function will restore them from the
-     * value that is in the D-Bus cache.
-     */
-    void restoreSystemVpd();
-
-    /**
-     * @brief An api to trigger vpd collection for a fru by bind/unbind of
-     * driver.
-     * @param[in] singleFru - Json of a single fru inder a given EEPROM path.
-     * @param[in] path - Inventory path.
-     */
-    void triggerVpdCollection(const nlohmann::json& singleFru,
-                              const std::string& path);
-
-    /** @brief Update FRU that back up system VPD.
-     *
-     * The API checks if the FRU being updated is system FRU and the record
-     * keyword pair being updated is the one that needs to be backed up and
-     * updates the back up FRU accordingly.
-     *
-     *  @param[in] recordName - name of the record.
-     *  @param[in] keyword - keyword whose value needs to be updated.
-     *  @param[in] value - value that needs to be updated.
-     */
-    void updateSystemVPDBackUpFRU(const std::string& recordName,
-                                  const std::string& keyword,
-                                  const Binary& value);
-
-    /**
-     * @brief Check for essential fru in the system.
-     * The api check for the presence of FRUs marked as essential and logs PEL
-     * in case they are missing.
-     */
-    void checkEssentialFrus();
-
-    // Shared pointer to asio context object.
-    std::shared_ptr<boost::asio::io_context>& ioContext;
-
-    // Shared pointer to Dbus interface class.
-    std::shared_ptr<sdbusplus::asio::dbus_interface>& interface;
-
-    // Shared pointer to bus connection.
-    std::shared_ptr<sdbusplus::asio::connection>& conn;
-
-    // file to store parsed json
-    nlohmann::json jsonFile;
-
-    // map to hold mapping to inventory path to vpd file path
-    // we need as map here as it is in reverse order to that of json
-    inventory::FrusMap frus;
-
-    // map to hold the mapping of location code and inventory path
-    inventory::LocationCodeMap fruLocationCode;
-
-    // map to hold FRUs which can be replaced at standby
-    inventory::ReplaceableFrus replaceableFrus;
-
-    // Shared pointer to gpio monitor object.
-    std::shared_ptr<GpioMonitor> gpioMon;
-
-    // Shared pointer to instance of the BIOS handler.
-    std::shared_ptr<BiosHandler> biosHandler;
-
-    // List of FRUs marked as essential in the system.
-    inventory::EssentialFrus essentialFrus;
-
-    // sd-bus
-    sd_bus* sdBus = nullptr;
-};
-
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/manager_main.cpp b/vpd-manager/manager_main.cpp
deleted file mode 100644
index bf8c0d9..0000000
--- a/vpd-manager/manager_main.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "config.h"
-
-#include "manager.hpp"
-
-#include <sdbusplus/asio/connection.hpp>
-
-int main(int /*argc*/, char** /*argv*/)
-{
-    try
-    {
-        auto io_con = std::make_shared<boost::asio::io_context>();
-        auto connection =
-            std::make_shared<sdbusplus::asio::connection>(*io_con);
-        connection->request_name(BUSNAME);
-
-        auto server = sdbusplus::asio::object_server(connection);
-
-        std::shared_ptr<sdbusplus::asio::dbus_interface> interface =
-            server.add_interface(OBJPATH, IFACE);
-
-        auto vpdManager = std::make_shared<openpower::vpd::manager::Manager>(
-            io_con, interface, connection);
-        interface->initialize();
-
-        // Start event loop.
-        io_con->run();
-
-        exit(EXIT_SUCCESS);
-    }
-    catch (const std::exception& e)
-    {
-        std::cerr << e.what() << "\n";
-    }
-    exit(EXIT_FAILURE);
-}
diff --git a/vpd-manager/meson.build b/vpd-manager/meson.build
index 22ac81a..4e9c10b 100644
--- a/vpd-manager/meson.build
+++ b/vpd-manager/meson.build
@@ -1,42 +1,47 @@
-systemd = dependency('libsystemd', version: '>= 221')
-sdeventplus = dependency('sdeventplus')
+common_SOURCES = ['src/logger.cpp',
+                  'src/parser_factory.cpp',
+                  'src/ipz_parser.cpp',
+                  'src/keyword_vpd_parser.cpp',
+                  'src/ddimm_parser.cpp',
+                  'src/isdimm_parser.cpp',
+                  'src/parser.cpp',
+                  'src/worker.cpp',
+                  'src/backup_restore.cpp',
+                  'src/gpio_monitor.cpp',
+                  'src/event_logger.cpp']
 
-configuration_inc = include_directories('.', '../', '../vpd-parser/')
+vpd_manager_SOURCES = ['src/manager_main.cpp',
+                    'src/manager.cpp',
+                    'src/bios_handler.cpp',
+                    ] + common_SOURCES
 
-vpd_manager_SOURCES = [
-    'manager_main.cpp',
-    'manager.cpp',
-    'editor_impl.cpp',
-    'reader_impl.cpp',
-    'gpioMonitor.cpp',
-    'bios_handler.cpp',
-    '../impl.cpp',
-    '../vpd-parser/ipz_parser.cpp',
-    '../ibm_vpd_utils.cpp',
-    '../common_utility.cpp',
-    '../vpd-parser//keyword_vpd_parser.cpp',
-    '../vpd-parser/memory_vpd_parser.cpp',
-    '../vpd-parser/isdimm_vpd_parser.cpp',
-    '../vpd-parser/parser_factory.cpp'
-]
+parser_dependencies = [sdbusplus, libgpiodcxx, phosphor_logging, phosphor_dbus_interfaces]
 
-vpd_manager_dependencies = [
-    CLI11_dep,
-    libgpiodcxx,
-    phosphor_logging,
-    sdeventplus,
-    systemd,
-    nlohmann_json_dep,
-]
+parser_build_arguments = []
+if get_option('ibm_system').enabled()
+    parser_build_arguments += ['-DIBM_SYSTEM']
+endif
 
 vpd_manager_exe = executable(
-                 'vpd-manager',
-                 vpd_manager_SOURCES,
-                 include_directories : configuration_inc,
-                 dependencies : [
-                                vpd_manager_dependencies,
+                'vpd-manager',
+                vpd_manager_SOURCES,
+                include_directories : ['../', 'include/', '../configuration/'],
+                link_with : libvpdecc,
+                dependencies : [
+                                parser_dependencies,
                                 ],
-                 link_with : libvpdecc,
-                 install : true,
-                 cpp_args : '-DIPZ_PARSER'
+                install : true,
+                cpp_args : parser_build_arguments,
                 )
+
+vpd_parser_SOURCES = ['src/vpd_parser_main.cpp',
+                     ]+ common_SOURCES
+
+vpd_parser_exe = executable(
+                'vpd-parser',
+                vpd_parser_SOURCES,
+                include_directories : ['../', 'include/', '../configuration/'],
+                link_with : libvpdecc,
+                dependencies : parser_dependencies,
+                install : true,
+                )
\ No newline at end of file
diff --git a/vpd-manager/meson.options b/vpd-manager/meson.options
deleted file mode 100644
index 92afa55..0000000
--- a/vpd-manager/meson.options
+++ /dev/null
@@ -1,5 +0,0 @@
-option('BUSNAME', type : 'string', value : 'com.ibm.VPD.Manager', description : 'BUS NAME FOR THE SERVICE')
-option('OBJPATH', type : 'string', value : '/com/ibm/VPD/Manager', description : 'OBJECT PATH FOR THE SERVICE')
-option('IFACE', type : 'string', value : 'com.ibm.VPD.Manager', description : 'INTERFACE NAME')
-option('oe-sdk', type : 'feature', value : 'disabled', description : 'ENABLE OE SDK FOR VPD KEYWORD EDITOR')
-option('INVENTORY_JSON', type : 'string', value : '/var/lib/vpd/vpd_inventory.json', description : 'PATH TO INVENTORY JSON FILE')
diff --git a/vpd-manager/reader_impl.cpp b/vpd-manager/reader_impl.cpp
deleted file mode 100644
index e4f2d8b..0000000
--- a/vpd-manager/reader_impl.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-#include "config.h"
-
-#include "reader_impl.hpp"
-
-#include "ibm_vpd_utils.hpp"
-
-#include <com/ibm/VPD/error.hpp>
-#include <phosphor-logging/elog-errors.hpp>
-#include <xyz/openbmc_project/Common/error.hpp>
-
-#include <algorithm>
-#include <map>
-#include <vector>
-
-#ifdef ManagerTest
-#include "reader_test.hpp"
-#endif
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-namespace reader
-{
-
-using namespace phosphor::logging;
-using namespace openpower::vpd::inventory;
-using namespace openpower::vpd::constants;
-using namespace openpower::vpd::utils::interface;
-
-using InvalidArgument =
-    sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument;
-using Argument = xyz::openbmc_project::Common::InvalidArgument;
-using LocationNotFound = sdbusplus::com::ibm::VPD::Error::LocationNotFound;
-
-bool ReaderImpl::isValidLocationCode(const LocationCode& locationCode) const
-{
-    if ((locationCode.length() < UNEXP_LOCATION_CODE_MIN_LENGTH) ||
-        (locationCode[0] != 'U') ||
-        ((locationCode.find("fcs", 1, 3) == std::string::npos) &&
-         (locationCode.find("mts", 1, 3) == std::string::npos)))
-    {
-        return false;
-    }
-
-    return true;
-}
-
-LocationCode ReaderImpl::getExpandedLocationCode(
-    const LocationCode& locationCode, const NodeNumber& nodeNumber,
-    const LocationCodeMap& frusLocationCode) const
-{
-    // unused at this moment. Hence to avoid warnings
-    (void)nodeNumber;
-    if (!isValidLocationCode(locationCode))
-    {
-        // argument is not valid
-        elog<InvalidArgument>(Argument::ARGUMENT_NAME("LOCATIONCODE"),
-                              Argument::ARGUMENT_VALUE(locationCode.c_str()));
-    }
-    auto iterator = frusLocationCode.find(locationCode);
-    if (iterator == frusLocationCode.end())
-    {
-        // TODO: Implementation of error logic till then throwing invalid
-        // argument
-        // the location code was not found in the system
-        // elog<LocationNotFound>();
-        elog<InvalidArgument>(Argument::ARGUMENT_NAME("LOCATIONCODE"),
-                              Argument::ARGUMENT_VALUE(locationCode.c_str()));
-    }
-
-    std::string expandedLocationCode{};
-#ifndef ManagerTest
-    utility utilObj;
-#endif
-    expandedLocationCode = utilObj.readBusProperty(
-        iterator->second, IBM_LOCATION_CODE_INF, "LocationCode");
-    return expandedLocationCode;
-}
-
-ListOfPaths ReaderImpl::getFrusAtLocation(
-    const LocationCode& locationCode, const NodeNumber& nodeNumber,
-    const LocationCodeMap& frusLocationCode) const
-{
-    // unused at this moment, to avoid compilation warning
-    (void)nodeNumber;
-
-    // TODO:Implementation related to node number
-    if (!isValidLocationCode(locationCode))
-    {
-        // argument is not valid
-        elog<InvalidArgument>(Argument::ARGUMENT_NAME("LOCATIONCODE"),
-                              Argument::ARGUMENT_VALUE(locationCode.c_str()));
-    }
-
-    auto range = frusLocationCode.equal_range(locationCode);
-
-    if (range.first == frusLocationCode.end())
-    {
-        // TODO: Implementation of error logic till then throwing invalid
-        // argument
-        // the location code was not found in the system
-        // elog<LocationNotFound>();
-        elog<InvalidArgument>(Argument::ARGUMENT_NAME("LOCATIONCODE"),
-                              Argument::ARGUMENT_VALUE(locationCode.c_str()));
-    }
-
-    ListOfPaths inventoryPaths;
-
-    for_each(range.first, range.second,
-             [&inventoryPaths](
-                 const inventory::LocationCodeMap::value_type& mappedItem) {
-                 inventoryPaths.push_back(INVENTORY_PATH + mappedItem.second);
-             });
-    return inventoryPaths;
-}
-
-std::tuple<LocationCode, NodeNumber>
-    ReaderImpl::getCollapsedLocationCode(const LocationCode& locationCode) const
-{
-    // Location code should always start with U and fulfil minimum length
-    // criteria.
-    if (locationCode[0] != 'U' ||
-        locationCode.length() < EXP_LOCATIN_CODE_MIN_LENGTH)
-    {
-        elog<InvalidArgument>(Argument::ARGUMENT_NAME("LOCATIONCODE"),
-                              Argument::ARGUMENT_VALUE(locationCode.c_str()));
-    }
-
-    std::string fc{};
-#ifndef ManagerTest
-    utility utilObj;
-#endif
-
-    fc = utilObj.readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VCEN", "FC");
-
-    // get the first part of expanded location code to check for FC or TM
-    std::string firstKeyword = locationCode.substr(1, 4);
-
-    LocationCode unexpandedLocationCode{};
-    NodeNumber nodeNummber = INVALID_NODE_NUMBER;
-
-    // check if this value matches the value of FC kwd
-    if (fc.substr(0, 4) ==
-        firstKeyword) // implies this is Ufcs format location code
-    {
-        // period(.) should be there in expanded location code to seggregate FC,
-        // Node number and SE values.
-        size_t nodeStartPos = locationCode.find('.');
-        if (nodeStartPos == std::string::npos)
-        {
-            elog<InvalidArgument>(
-                Argument::ARGUMENT_NAME("LOCATIONCODE"),
-                Argument::ARGUMENT_VALUE(locationCode.c_str()));
-        }
-
-        // second period(.) should be there to end the node details in non
-        // system location code
-        size_t nodeEndPos = locationCode.find('.', nodeStartPos + 1);
-        if (nodeEndPos == std::string::npos)
-        {
-            elog<InvalidArgument>(
-                Argument::ARGUMENT_NAME("LOCATIONCODE"),
-                Argument::ARGUMENT_VALUE(locationCode.c_str()));
-        }
-
-        // skip 3 for '.ND'
-        nodeNummber = std::stoi(locationCode.substr(
-            nodeStartPos + 3, (nodeEndPos - nodeStartPos - 3)));
-
-        // confirm if there are other details apart FC, Node number and SE in
-        // location code
-        if (locationCode.length() > EXP_LOCATIN_CODE_MIN_LENGTH)
-        {
-            unexpandedLocationCode =
-                locationCode[0] + (std::string) "fcs" +
-                locationCode.substr(nodeEndPos + 1 + SE_KWD_LENGTH,
-                                    std::string::npos);
-        }
-        else
-        {
-            unexpandedLocationCode = "Ufcs";
-        }
-    }
-    else
-    {
-        std::string tm{};
-        // read TM kwd value
-        tm =
-            utilObj.readBusProperty(SYSTEM_OBJECT, "com.ibm.ipzvpd.VSYS", "TM");
-        ;
-
-        // check if the substr matches to TM kwd
-        if (tm.substr(0, 4) ==
-            firstKeyword) // implies this is Umts format of location code
-        {
-            // system location code will not have any other details and node
-            // number
-            unexpandedLocationCode = "Umts";
-        }
-        // it does not belong to either "fcs" or "mts"
-        else
-        {
-            elog<InvalidArgument>(
-                Argument::ARGUMENT_NAME("LOCATIONCODE"),
-                Argument::ARGUMENT_VALUE(locationCode.c_str()));
-        }
-    }
-
-    return std::make_tuple(unexpandedLocationCode, nodeNummber);
-}
-
-ListOfPaths ReaderImpl::getFRUsByExpandedLocationCode(
-    const inventory::LocationCode& locationCode,
-    const inventory::LocationCodeMap& frusLocationCode) const
-{
-    std::tuple<LocationCode, NodeNumber> locationAndNodePair =
-        getCollapsedLocationCode(locationCode);
-
-    return getFrusAtLocation(std::get<0>(locationAndNodePair),
-                             std::get<1>(locationAndNodePair),
-                             frusLocationCode);
-}
-} // namespace reader
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/reader_impl.hpp b/vpd-manager/reader_impl.hpp
deleted file mode 100644
index 7525a4f..0000000
--- a/vpd-manager/reader_impl.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-#pragma once
-
-#include "types.hpp"
-#include "utilInterface.hpp"
-
-namespace openpower
-{
-namespace vpd
-{
-namespace manager
-{
-namespace reader
-{
-
-using IUtil = openpower::vpd::utils::interface::UtilityInterface;
-/** @class ReaderImpl
- *  @brief Implements functionalities related to reading of VPD related data
- *  from the system.
- */
-class ReaderImpl
-{
-  public:
-    ReaderImpl() = default;
-    ReaderImpl(const ReaderImpl&) = default;
-    ReaderImpl& operator=(const ReaderImpl&) = delete;
-    ReaderImpl(ReaderImpl&&) = default;
-    ReaderImpl& operator=(ReaderImpl&&) = delete;
-    ~ReaderImpl() = default;
-
-#ifdef ManagerTest
-    explicit ReaderImpl(IUtil& obj) : utilObj(obj) {}
-#endif
-
-    /** @brief An API to expand a given unexpanded location code.
-     *  @param[in] locationCode - unexpanded location code.
-     *  @param[in] nodeNumber - node on which we are looking for location code.
-     *  @param[in] frusLocationCode - mapping of inventory path and location
-     * code.
-     *  @return Expanded location code.
-     */
-    inventory::LocationCode getExpandedLocationCode(
-        const inventory::LocationCode& locationCode,
-        const inventory::NodeNumber& nodeNumber,
-        const inventory::LocationCodeMap& frusLocationCode) const;
-
-    /** @brief An API to get list of all the FRUs at the given location code
-     *  @param[in] - location code in unexpanded format
-     *  @param[in] - node number
-     *  @param[in] - mapping of location code and Inventory path
-     *  @return list of Inventory paths at the given location
-     */
-    inventory::ListOfPaths getFrusAtLocation(
-        const inventory::LocationCode& locationCode,
-        const inventory::NodeNumber& nodeNumber,
-        const inventory::LocationCodeMap& frusLocationCode) const;
-
-    /** @brief An API to get list of all the FRUs at the given location code
-     *  @param[in] - location code in unexpanded format
-     *  @param[in] - mapping of location code and Inventory path
-     *  @return list of Inventory paths at the given location
-     */
-    inventory::ListOfPaths getFRUsByExpandedLocationCode(
-        const inventory::LocationCode& locationCode,
-        const inventory::LocationCodeMap& frusLocationCode) const;
-
-  private:
-    /** @brief An api to check validity of location code
-     *  @param[in] - location code
-     *  @return true/false based on validity check
-     */
-    bool isValidLocationCode(const inventory::LocationCode& locationCode) const;
-
-    /** @brief An API to split expanded location code to its un-expanded
-     *  format as represented in VPD JSON and the node number.
-     *  @param[in] Location code in expanded format.
-     *  @return Location code in un-expanded format and its node number.
-     */
-    std::tuple<inventory::LocationCode, inventory::NodeNumber>
-        getCollapsedLocationCode(
-            const inventory::LocationCode& locationCode) const;
-#ifdef ManagerTest
-    IUtil& utilObj;
-#endif
-
-}; // class ReaderImpl
-
-} // namespace reader
-} // namespace manager
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-manager/src/backup_restore.cpp b/vpd-manager/src/backup_restore.cpp
new file mode 100644
index 0000000..294efc4
--- /dev/null
+++ b/vpd-manager/src/backup_restore.cpp
@@ -0,0 +1,384 @@
+#include "backup_restore.hpp"
+
+#include "constants.hpp"
+#include "event_logger.hpp"
+#include "exceptions.hpp"
+#include "logger.hpp"
+#include "parser.hpp"
+#include "types.hpp"
+
+#include <utility/json_utility.hpp>
+#include <utility/vpd_specific_utility.hpp>
+
+namespace vpd
+{
+BackupAndRestoreStatus BackupAndRestore::m_backupAndRestoreStatus =
+    BackupAndRestoreStatus::NotStarted;
+
+BackupAndRestore::BackupAndRestore(const nlohmann::json& i_sysCfgJsonObj) :
+    m_sysCfgJsonObj(i_sysCfgJsonObj)
+{
+    std::string l_backupAndRestoreCfgFilePath =
+        i_sysCfgJsonObj.value("backupRestoreConfigPath", "");
+    try
+    {
+        m_backupAndRestoreCfgJsonObj =
+            jsonUtility::getParsedJson(l_backupAndRestoreCfgFilePath);
+    }
+    catch (const std::exception& ex)
+    {
+        logging::logMessage(
+            "Failed to intialize backup and restore object for file = " +
+            l_backupAndRestoreCfgFilePath);
+        throw(ex);
+    }
+}
+
+std::tuple<types::VPDMapVariant, types::VPDMapVariant>
+    BackupAndRestore::backupAndRestore()
+{
+    auto l_emptyVariantPair =
+        std::make_tuple(std::monostate{}, std::monostate{});
+
+    if (m_backupAndRestoreStatus >= BackupAndRestoreStatus::Invoked)
+    {
+        logging::logMessage("Backup and restore invoked already.");
+        return l_emptyVariantPair;
+    }
+
+    m_backupAndRestoreStatus = BackupAndRestoreStatus::Invoked;
+    try
+    {
+        if (m_backupAndRestoreCfgJsonObj.empty() ||
+            !m_backupAndRestoreCfgJsonObj.contains("source") ||
+            !m_backupAndRestoreCfgJsonObj.contains("destination") ||
+            !m_backupAndRestoreCfgJsonObj.contains("type") ||
+            !m_backupAndRestoreCfgJsonObj.contains("backupMap"))
+        {
+            logging::logMessage(
+                "Backup restore config JSON is missing necessary tag(s), can't initiate backup and restore.");
+            return l_emptyVariantPair;
+        }
+
+        std::string l_srcVpdPath;
+        types::VPDMapVariant l_srcVpdVariant;
+        if (l_srcVpdPath = m_backupAndRestoreCfgJsonObj["source"].value(
+                "hardwarePath", "");
+            !l_srcVpdPath.empty() && std::filesystem::exists(l_srcVpdPath))
+        {
+            std::shared_ptr<Parser> l_vpdParser =
+                std::make_shared<Parser>(l_srcVpdPath, m_sysCfgJsonObj);
+            l_srcVpdVariant = l_vpdParser->parse();
+        }
+        else if (l_srcVpdPath = m_backupAndRestoreCfgJsonObj["source"].value(
+                     "inventoryPath", "");
+                 l_srcVpdPath.empty())
+        {
+            logging::logMessage(
+                "Couldn't extract source path, can't initiate backup and restore.");
+            return l_emptyVariantPair;
+        }
+
+        std::string l_dstVpdPath;
+        types::VPDMapVariant l_dstVpdVariant;
+        if (l_dstVpdPath = m_backupAndRestoreCfgJsonObj["destination"].value(
+                "hardwarePath", "");
+            !l_dstVpdPath.empty() && std::filesystem::exists(l_dstVpdPath))
+        {
+            std::shared_ptr<Parser> l_vpdParser =
+                std::make_shared<Parser>(l_dstVpdPath, m_sysCfgJsonObj);
+            l_dstVpdVariant = l_vpdParser->parse();
+        }
+        else if (l_dstVpdPath = m_backupAndRestoreCfgJsonObj["destination"]
+                                    .value("inventoryPath", "");
+                 l_dstVpdPath.empty())
+        {
+            logging::logMessage(
+                "Couldn't extract destination path, can't initiate backup and restore.");
+            return l_emptyVariantPair;
+        }
+
+        // Implement backup and restore for IPZ type VPD
+        auto l_backupAndRestoreType =
+            m_backupAndRestoreCfgJsonObj.value("type", "");
+        if (l_backupAndRestoreType.compare("IPZ") == constants::STR_CMP_SUCCESS)
+        {
+            types::IPZVpdMap l_srcVpdMap;
+            if (auto l_srcVpdPtr =
+                    std::get_if<types::IPZVpdMap>(&l_srcVpdVariant))
+            {
+                l_srcVpdMap = *l_srcVpdPtr;
+            }
+            else if (!std::holds_alternative<std::monostate>(l_srcVpdVariant))
+            {
+                logging::logMessage("Source VPD is not of IPZ type.");
+                return l_emptyVariantPair;
+            }
+
+            types::IPZVpdMap l_dstVpdMap;
+            if (auto l_dstVpdPtr =
+                    std::get_if<types::IPZVpdMap>(&l_dstVpdVariant))
+            {
+                l_dstVpdMap = *l_dstVpdPtr;
+            }
+            else if (!std::holds_alternative<std::monostate>(l_dstVpdVariant))
+            {
+                logging::logMessage("Destination VPD is not of IPZ type.");
+                return l_emptyVariantPair;
+            }
+
+            backupAndRestoreIpzVpd(l_srcVpdMap, l_dstVpdMap, l_srcVpdPath,
+                                   l_dstVpdPath);
+            m_backupAndRestoreStatus = BackupAndRestoreStatus::Completed;
+
+            return std::make_tuple(l_srcVpdMap, l_dstVpdMap);
+        }
+        // Note: add implementation here to support any other VPD type.
+    }
+    catch (const std::exception& ex)
+    {
+        logging::logMessage("Back up and restore failed with exception: " +
+                            std::string(ex.what()));
+    }
+    return l_emptyVariantPair;
+}
+
+void BackupAndRestore::backupAndRestoreIpzVpd(
+    types::IPZVpdMap& io_srcVpdMap, types::IPZVpdMap& io_dstVpdMap,
+    const std::string& i_srcPath, const std::string& i_dstPath)
+{
+    if (!m_backupAndRestoreCfgJsonObj["backupMap"].is_array())
+    {
+        logging::logMessage(
+            "Invalid value found for tag backupMap, in backup and restore config JSON.");
+        return;
+    }
+
+    const std::string l_srcFruPath =
+        jsonUtility::getFruPathFromJson(m_sysCfgJsonObj, i_srcPath);
+    const std::string l_dstFruPath =
+        jsonUtility::getFruPathFromJson(m_sysCfgJsonObj, i_dstPath);
+    if (l_srcFruPath.empty() || l_dstFruPath.empty())
+    {
+        logging::logMessage(
+            "Couldn't find either source or destination FRU path.");
+        return;
+    }
+
+    const std::string l_srcInvPath =
+        jsonUtility::getInventoryObjPathFromJson(m_sysCfgJsonObj, i_srcPath);
+    const std::string l_dstInvPath =
+        jsonUtility::getInventoryObjPathFromJson(m_sysCfgJsonObj, i_dstPath);
+    if (l_srcInvPath.empty() || l_dstInvPath.empty())
+    {
+        logging::logMessage(
+            "Couldn't find either source or destination inventory path.");
+        return;
+    }
+
+    const std::string l_srcServiceName =
+        jsonUtility::getServiceName(m_sysCfgJsonObj, l_srcInvPath);
+    const std::string l_dstServiceName =
+        jsonUtility::getServiceName(m_sysCfgJsonObj, l_dstInvPath);
+    if (l_srcServiceName.empty() || l_dstServiceName.empty())
+    {
+        logging::logMessage(
+            "Couldn't find either source or destination DBus service name.");
+        return;
+    }
+
+    for (const auto& l_aRecordKwInfo :
+         m_backupAndRestoreCfgJsonObj["backupMap"])
+    {
+        const std::string& l_srcRecordName =
+            l_aRecordKwInfo.value("sourceRecord", "");
+        const std::string& l_srcKeywordName =
+            l_aRecordKwInfo.value("sourceKeyword", "");
+        const std::string& l_dstRecordName =
+            l_aRecordKwInfo.value("destinationRecord", "");
+        const std::string& l_dstKeywordName =
+            l_aRecordKwInfo.value("destinationKeyword", "");
+
+        if (l_srcRecordName.empty() || l_dstRecordName.empty() ||
+            l_srcKeywordName.empty() || l_dstKeywordName.empty())
+        {
+            logging::logMessage(
+                "Record or keyword not found in the backup and restore config JSON.");
+            continue;
+        }
+
+        if (!io_srcVpdMap.empty() &&
+            io_srcVpdMap.find(l_srcRecordName) == io_srcVpdMap.end())
+        {
+            logging::logMessage(
+                "Record: " + l_srcRecordName +
+                ", is not found in the source path: " + i_srcPath);
+            continue;
+        }
+
+        if (!io_dstVpdMap.empty() &&
+            io_dstVpdMap.find(l_dstRecordName) == io_dstVpdMap.end())
+        {
+            logging::logMessage(
+                "Record: " + l_dstRecordName +
+                ", is not found in the destination path: " + i_dstPath);
+            continue;
+        }
+
+        types::BinaryVector l_defaultBinaryValue;
+        if (l_aRecordKwInfo.contains("defaultValue") &&
+            l_aRecordKwInfo["defaultValue"].is_array())
+        {
+            l_defaultBinaryValue =
+                l_aRecordKwInfo["defaultValue"].get<types::BinaryVector>();
+        }
+        else
+        {
+            logging::logMessage(
+                "Couldn't read default value for record name: " +
+                l_srcRecordName + ", keyword name: " + l_srcKeywordName +
+                " from backup and restore config JSON file.");
+            continue;
+        }
+
+        bool l_isPelRequired = l_aRecordKwInfo.value("isPelRequired", false);
+
+        types::BinaryVector l_srcBinaryValue;
+        std::string l_srcStrValue;
+        if (!io_srcVpdMap.empty())
+        {
+            vpdSpecificUtility::getKwVal(io_srcVpdMap.at(l_srcRecordName),
+                                         l_srcKeywordName, l_srcStrValue);
+            l_srcBinaryValue =
+                types::BinaryVector(l_srcStrValue.begin(), l_srcStrValue.end());
+        }
+        else
+        {
+            // Read keyword value from DBus
+            const auto l_value = dbusUtility::readDbusProperty(
+                l_srcServiceName, l_srcInvPath,
+                constants::ipzVpdInf + l_srcRecordName, l_srcKeywordName);
+            if (const auto l_binaryValue =
+                    std::get_if<types::BinaryVector>(&l_value))
+            {
+                l_srcBinaryValue = *l_binaryValue;
+                l_srcStrValue = std::string(l_srcBinaryValue.begin(),
+                                            l_srcBinaryValue.end());
+            }
+        }
+
+        types::BinaryVector l_dstBinaryValue;
+        std::string l_dstStrValue;
+        if (!io_dstVpdMap.empty())
+        {
+            vpdSpecificUtility::getKwVal(io_dstVpdMap.at(l_dstRecordName),
+                                         l_dstKeywordName, l_dstStrValue);
+            l_dstBinaryValue =
+                types::BinaryVector(l_dstStrValue.begin(), l_dstStrValue.end());
+        }
+        else
+        {
+            // Read keyword value from DBus
+            const auto l_value = dbusUtility::readDbusProperty(
+                l_dstServiceName, l_dstInvPath,
+                constants::ipzVpdInf + l_dstRecordName, l_dstKeywordName);
+            if (const auto l_binaryValue =
+                    std::get_if<types::BinaryVector>(&l_value))
+            {
+                l_dstBinaryValue = *l_binaryValue;
+                l_dstStrValue = std::string(l_dstBinaryValue.begin(),
+                                            l_dstBinaryValue.end());
+            }
+        }
+
+        if (l_srcBinaryValue != l_dstBinaryValue)
+        {
+            // ToDo: Handle if there is no valid default value in the backup and
+            // restore config JSON.
+            if (l_dstBinaryValue == l_defaultBinaryValue)
+            {
+                // Update keyword's value on hardware
+                auto l_vpdParser =
+                    std::make_shared<Parser>(l_dstFruPath, m_sysCfgJsonObj);
+
+                auto l_bytesUpdatedOnHardware = l_vpdParser->updateVpdKeyword(
+                    types::IpzData(l_dstRecordName, l_dstKeywordName,
+                                   l_srcBinaryValue));
+
+                /* To keep the data in sync between hardware and parsed map
+                 updating the io_dstVpdMap. This should only be done if write
+                 on hardware returns success.*/
+                if (!io_dstVpdMap.empty() && l_bytesUpdatedOnHardware > 0)
+                {
+                    io_dstVpdMap[l_dstRecordName][l_dstKeywordName] =
+                        l_srcStrValue;
+                }
+                continue;
+            }
+
+            if (l_srcBinaryValue == l_defaultBinaryValue)
+            {
+                // Update keyword's value on hardware
+                auto l_vpdParser =
+                    std::make_shared<Parser>(l_srcFruPath, m_sysCfgJsonObj);
+
+                auto l_bytesUpdatedOnHardware = l_vpdParser->updateVpdKeyword(
+                    types::IpzData(l_srcRecordName, l_srcKeywordName,
+                                   l_dstBinaryValue));
+
+                /* To keep the data in sync between hardware and parsed map
+                 updating the io_srcVpdMap. This should only be done if write
+                 on hardware returns success.*/
+                if (!io_srcVpdMap.empty() && l_bytesUpdatedOnHardware > 0)
+                {
+                    io_srcVpdMap[l_srcRecordName][l_srcKeywordName] =
+                        l_dstStrValue;
+                }
+            }
+            else
+            {
+                /**
+                 * Update io_srcVpdMap to publish the same data on DBus, which
+                 * is already present on the DBus. Because after calling
+                 * backupAndRestore API the map value will get published to DBus
+                 * in the worker flow.
+                 */
+                if (!io_srcVpdMap.empty() && io_dstVpdMap.empty())
+                {
+                    io_srcVpdMap[l_srcRecordName][l_srcKeywordName] =
+                        l_dstStrValue;
+                }
+
+                std::string l_errorMsg(
+                    "Mismatch found between source and destination VPD for record : " +
+                    l_srcRecordName + " and keyword : " + l_srcKeywordName +
+                    " . Value read from source : " + l_srcStrValue +
+                    " . Value read from destination : " + l_dstStrValue);
+
+                EventLogger::createSyncPel(
+                    types::ErrorType::VpdMismatch, types::SeverityType::Warning,
+                    __FILE__, __FUNCTION__, 0, l_errorMsg, std::nullopt,
+                    std::nullopt, std::nullopt, std::nullopt);
+            }
+        }
+        else if (l_srcBinaryValue == l_defaultBinaryValue &&
+                 l_dstBinaryValue == l_defaultBinaryValue && l_isPelRequired)
+        {
+            std::string l_errorMsg(
+                "Default value found on both source and destination VPD, for record: " +
+                l_srcRecordName + " and keyword: " + l_srcKeywordName);
+
+            EventLogger::createSyncPel(
+                types::ErrorType::DefaultValue, types::SeverityType::Error,
+                __FILE__, __FUNCTION__, 0, l_errorMsg, std::nullopt,
+                std::nullopt, std::nullopt, std::nullopt);
+        }
+    }
+}
+
+void BackupAndRestore::setBackupAndRestoreStatus(
+    const BackupAndRestoreStatus& i_status)
+{
+    m_backupAndRestoreStatus = i_status;
+}
+} // namespace vpd
diff --git a/vpd-manager/src/bios_handler.cpp b/vpd-manager/src/bios_handler.cpp
new file mode 100644
index 0000000..44afff3
--- /dev/null
+++ b/vpd-manager/src/bios_handler.cpp
@@ -0,0 +1,764 @@
+#include "config.h"
+
+#include "bios_handler.hpp"
+
+#include "constants.hpp"
+#include "logger.hpp"
+
+#include <sdbusplus/bus/match.hpp>
+#include <utility/common_utility.hpp>
+#include <utility/dbus_utility.hpp>
+
+#include <string>
+
+namespace vpd
+{
+// Template declaration to define APIs.
+template class BiosHandler<IbmBiosHandler>;
+
+template <typename T>
+void BiosHandler<T>::checkAndListenPldmService()
+{
+    // Setup a call back match on NameOwnerChanged to determine when PLDM is up.
+    static std::shared_ptr<sdbusplus::bus::match_t> l_nameOwnerMatch =
+        std::make_shared<sdbusplus::bus::match_t>(
+            *m_asioConn,
+            sdbusplus::bus::match::rules::nameOwnerChanged(
+                constants::pldmServiceName),
+            [this](sdbusplus::message_t& l_msg) {
+                if (l_msg.is_method_error())
+                {
+                    logging::logMessage(
+                        "Error in reading PLDM name owner changed signal.");
+                    return;
+                }
+
+                std::string l_name;
+                std::string l_newOwner;
+                std::string l_oldOwner;
+
+                l_msg.read(l_name, l_oldOwner, l_newOwner);
+
+                if (!l_newOwner.empty() &&
+                    (l_name.compare(constants::pldmServiceName) ==
+                     constants::STR_CMP_SUCCESS))
+                {
+                    m_specificBiosHandler->backUpOrRestoreBiosAttributes();
+
+                    // Start listener now that we have done the restore.
+                    listenBiosAttributes();
+
+                    //  We don't need the match anymore
+                    l_nameOwnerMatch.reset();
+                }
+            });
+
+    // Based on PLDM service status reset owner match registered above and
+    // trigger BIOS attribute sync.
+    if (dbusUtility::isServiceRunning(constants::pldmServiceName))
+    {
+        l_nameOwnerMatch.reset();
+        m_specificBiosHandler->backUpOrRestoreBiosAttributes();
+
+        // Start listener now that we have done the restore.
+        listenBiosAttributes();
+    }
+}
+
+template <typename T>
+void BiosHandler<T>::listenBiosAttributes()
+{
+    static std::shared_ptr<sdbusplus::bus::match_t> l_biosMatch =
+        std::make_shared<sdbusplus::bus::match_t>(
+            *m_asioConn,
+            sdbusplus::bus::match::rules::propertiesChanged(
+                constants::biosConfigMgrObjPath,
+                constants::biosConfigMgrInterface),
+            [this](sdbusplus::message_t& l_msg) {
+                m_specificBiosHandler->biosAttributesCallback(l_msg);
+            });
+}
+
+void IbmBiosHandler::biosAttributesCallback(sdbusplus::message_t& i_msg)
+{
+    if (i_msg.is_method_error())
+    {
+        logging::logMessage("Error in reading BIOS attribute signal. ");
+        return;
+    }
+
+    std::string l_objPath;
+    types::BiosBaseTableType l_propMap;
+    i_msg.read(l_objPath, l_propMap);
+
+    for (auto l_property : l_propMap)
+    {
+        if (l_property.first != "BaseBIOSTable")
+        {
+            // Looking for change in Base BIOS table only.
+            continue;
+        }
+
+        if (auto l_attributeList =
+                std::get_if<std::map<std::string, types::BiosProperty>>(
+                    &(l_property.second)))
+        {
+            for (const auto& l_attribute : *l_attributeList)
+            {
+                if (auto l_val = std::get_if<std::string>(
+                        &(std::get<5>(std::get<1>(l_attribute)))))
+                {
+                    std::string l_attributeName = std::get<0>(l_attribute);
+                    if (l_attributeName == "hb_memory_mirror_mode")
+                    {
+                        saveAmmToVpd(*l_val);
+                    }
+
+                    if (l_attributeName == "pvm_keep_and_clear")
+                    {
+                        saveKeepAndClearToVpd(*l_val);
+                    }
+
+                    if (l_attributeName == "pvm_create_default_lpar")
+                    {
+                        saveCreateDefaultLparToVpd(*l_val);
+                    }
+
+                    if (l_attributeName == "pvm_clear_nvram")
+                    {
+                        saveClearNvramToVpd(*l_val);
+                    }
+
+                    continue;
+                }
+
+                if (auto l_val = std::get_if<int64_t>(
+                        &(std::get<5>(std::get<1>(l_attribute)))))
+                {
+                    std::string l_attributeName = std::get<0>(l_attribute);
+                    if (l_attributeName == "hb_field_core_override")
+                    {
+                        saveFcoToVpd(*l_val);
+                    }
+                }
+            }
+        }
+        else
+        {
+            // TODO: log a predicitive PEL.
+            logging::logMessage("Invalid typre received from BIOS table.");
+            break;
+        }
+    }
+}
+
+void IbmBiosHandler::backUpOrRestoreBiosAttributes()
+{
+    // process FCO
+    processFieldCoreOverride();
+
+    // process AMM
+    processActiveMemoryMirror();
+
+    // process LPAR
+    processCreateDefaultLpar();
+
+    // process clear NVRAM
+    processClearNvram();
+
+    // process keep and clear
+    processKeepAndClear();
+}
+
+types::BiosAttributeCurrentValue
+    IbmBiosHandler::readBiosAttribute(const std::string& i_attributeName)
+{
+    types::BiosAttributeCurrentValue l_attrValueVariant =
+        dbusUtility::biosGetAttributeMethodCall(i_attributeName);
+
+    return l_attrValueVariant;
+}
+
+void IbmBiosHandler::processFieldCoreOverride()
+{
+    // TODO: Should we avoid doing this at runtime?
+
+    // Read required keyword from Dbus.
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::vsysInf, constants::kwdRG);
+
+    if (auto l_fcoInVpd = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        // default length of the keyword is 4 bytes.
+        if (l_fcoInVpd->size() != constants::VALUE_4)
+        {
+            logging::logMessage(
+                "Invalid value read for FCO from D-Bus. Skipping.");
+        }
+
+        //  If FCO in VPD contains anything other that ASCII Space, restore to
+        //  BIOS
+        if (std::any_of(l_fcoInVpd->cbegin(), l_fcoInVpd->cend(),
+                        [](uint8_t l_val) {
+                            return l_val != constants::ASCII_OF_SPACE;
+                        }))
+        {
+            // Restore the data to BIOS.
+            saveFcoToBios(*l_fcoInVpd);
+        }
+        else
+        {
+            types::BiosAttributeCurrentValue l_attrValueVariant =
+                readBiosAttribute("hb_field_core_override");
+
+            if (auto l_fcoInBios = std::get_if<int64_t>(&l_attrValueVariant))
+            {
+                // save the BIOS data to VPD
+                saveFcoToVpd(*l_fcoInBios);
+
+                return;
+            }
+            logging::logMessage("Invalid type recieved for FCO from BIOS.");
+        }
+        return;
+    }
+    logging::logMessage("Invalid type recieved for FCO from VPD.");
+}
+
+void IbmBiosHandler::saveFcoToVpd(int64_t i_fcoInBios)
+{
+    if (i_fcoInBios < 0)
+    {
+        logging::logMessage("Invalid FCO value in BIOS. Skip updating to VPD");
+        return;
+    }
+
+    // Read required keyword from Dbus.
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::vsysInf, constants::kwdRG);
+
+    if (auto l_fcoInVpd = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        // default length of the keyword is 4 bytes.
+        if (l_fcoInVpd->size() != constants::VALUE_4)
+        {
+            logging::logMessage(
+                "Invalid value read for FCO from D-Bus. Skipping.");
+            return;
+        }
+
+        // convert to VPD value type
+        types::BinaryVector l_biosValInVpdFormat = {
+            0, 0, 0, static_cast<uint8_t>(i_fcoInBios)};
+
+        // Update only when the data are different.
+        if (std::memcmp(l_biosValInVpdFormat.data(), l_fcoInVpd->data(),
+                        constants::VALUE_4) != constants::SUCCESS)
+        {
+            if (constants::FAILURE ==
+                m_manager->updateKeyword(
+                    SYSTEM_VPD_FILE_PATH,
+                    types::IpzData("VSYS", constants::kwdRG,
+                                   l_biosValInVpdFormat)))
+            {
+                logging::logMessage(
+                    "Failed to update " + std::string(constants::kwdRG) +
+                    " keyword to VPD.");
+            }
+        }
+    }
+    else
+    {
+        logging::logMessage("Invalid type read for FCO from DBus.");
+    }
+}
+
+void IbmBiosHandler::saveFcoToBios(const types::BinaryVector& i_fcoVal)
+{
+    if (i_fcoVal.size() != constants::VALUE_4)
+    {
+        logging::logMessage("Bad size for FCO received. Skip writing to BIOS");
+        return;
+    }
+
+    types::PendingBIOSAttrs l_pendingBiosAttribute;
+    l_pendingBiosAttribute.push_back(std::make_pair(
+        "hb_field_core_override",
+        std::make_tuple(
+            "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer",
+            i_fcoVal.at(constants::VALUE_3))));
+
+    try
+    {
+        dbusUtility::writeDbusProperty(
+            constants::biosConfigMgrService, constants::biosConfigMgrObjPath,
+            constants::biosConfigMgrInterface, "PendingAttributes",
+            l_pendingBiosAttribute);
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Should we log informational PEL here as well?
+        logging::logMessage(
+            "DBus call to update FCO value in pending attribute failed. " +
+            std::string(l_ex.what()));
+    }
+}
+
+void IbmBiosHandler::saveAmmToVpd(const std::string& i_memoryMirrorMode)
+{
+    if (i_memoryMirrorMode.empty())
+    {
+        logging::logMessage(
+            "Empty memory mirror mode value from BIOS. Skip writing to VPD");
+        return;
+    }
+
+    // Read existing value.
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::utilInf, constants::kwdAMM);
+
+    if (auto l_pVal = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        auto l_ammValInVpd = *l_pVal;
+
+        types::BinaryVector l_valToUpdateInVpd{
+            (i_memoryMirrorMode == "Enabled" ? constants::AMM_ENABLED_IN_VPD
+                                             : constants::AMM_DISABLED_IN_VPD)};
+
+        // Check if value is already updated on VPD.
+        if (l_ammValInVpd.at(0) == l_valToUpdateInVpd.at(0))
+        {
+            return;
+        }
+
+        if (constants::FAILURE ==
+            m_manager->updateKeyword(
+                SYSTEM_VPD_FILE_PATH,
+                types::IpzData("UTIL", constants::kwdAMM, l_valToUpdateInVpd)))
+        {
+            logging::logMessage(
+                "Failed to update " + std::string(constants::kwdAMM) +
+                " keyword to VPD");
+        }
+    }
+    else
+    {
+        // TODO: Add PEL
+        logging::logMessage(
+            "Invalid type read for memory mirror mode value from DBus. Skip writing to VPD");
+    }
+}
+
+void IbmBiosHandler::saveAmmToBios(const std::string& i_ammVal)
+{
+    if (i_ammVal.size() != constants::VALUE_1)
+    {
+        logging::logMessage("Bad size for AMM received, Skip writing to BIOS");
+        return;
+    }
+
+    const std::string l_valtoUpdate =
+        (i_ammVal.at(0) == constants::VALUE_2) ? "Enabled" : "Disabled";
+
+    types::PendingBIOSAttrs l_pendingBiosAttribute;
+    l_pendingBiosAttribute.push_back(std::make_pair(
+        "hb_memory_mirror_mode",
+        std::make_tuple(
+            "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration",
+            l_valtoUpdate)));
+
+    try
+    {
+        dbusUtility::writeDbusProperty(
+            constants::biosConfigMgrService, constants::biosConfigMgrObjPath,
+            constants::biosConfigMgrInterface, "PendingAttributes",
+            l_pendingBiosAttribute);
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Should we log informational PEL here as well?
+        logging::logMessage(
+            "DBus call to update AMM value in pending attribute failed. " +
+            std::string(l_ex.what()));
+    }
+}
+
+void IbmBiosHandler::processActiveMemoryMirror()
+{
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::utilInf, constants::kwdAMM);
+
+    if (auto pVal = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        auto l_ammValInVpd = *pVal;
+
+        // Check if active memory mirror value is default in VPD.
+        if (l_ammValInVpd.at(0) == constants::VALUE_0)
+        {
+            types::BiosAttributeCurrentValue l_attrValueVariant =
+                readBiosAttribute("hb_memory_mirror_mode");
+
+            if (auto pVal = std::get_if<std::string>(&l_attrValueVariant))
+            {
+                saveAmmToVpd(*pVal);
+                return;
+            }
+            logging::logMessage(
+                "Invalid type recieved for auto memory mirror mode from BIOS.");
+            return;
+        }
+        else
+        {
+            saveAmmToBios(std::to_string(l_ammValInVpd.at(0)));
+        }
+        return;
+    }
+    logging::logMessage(
+        "Invalid type recieved for auto memory mirror mode from VPD.");
+}
+
+void IbmBiosHandler::saveCreateDefaultLparToVpd(
+    const std::string& i_createDefaultLparVal)
+{
+    if (i_createDefaultLparVal.empty())
+    {
+        logging::logMessage(
+            "Empty value received for Lpar from BIOS. Skip writing in VPD.");
+        return;
+    }
+
+    // Read required keyword from DBus as we need to set only a Bit.
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::utilInf, constants::kwdClearNVRAM_CreateLPAR);
+
+    if (auto l_pVal = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        commonUtility::toLower(
+            const_cast<std::string&>(i_createDefaultLparVal));
+
+        // Check for second bit. Bit set for enabled else disabled.
+        if (((((*l_pVal).at(0) & 0x02) == 0x02) &&
+             (i_createDefaultLparVal.compare("enabled") ==
+              constants::STR_CMP_SUCCESS)) ||
+            ((((*l_pVal).at(0) & 0x02) == 0x00) &&
+             (i_createDefaultLparVal.compare("disabled") ==
+              constants::STR_CMP_SUCCESS)))
+        {
+            // Values are same, Don;t update.
+            return;
+        }
+
+        types::BinaryVector l_valToUpdateInVpd;
+        if (i_createDefaultLparVal.compare("enabled") ==
+            constants::STR_CMP_SUCCESS)
+        {
+            // 2nd Bit is used to store the value.
+            l_valToUpdateInVpd.emplace_back((*l_pVal).at(0) | 0x02);
+        }
+        else
+        {
+            // 2nd Bit is used to store the value.
+            l_valToUpdateInVpd.emplace_back((*l_pVal).at(0) & ~(0x02));
+        }
+
+        if (-1 ==
+            m_manager->updateKeyword(
+                SYSTEM_VPD_FILE_PATH,
+                types::IpzData("UTIL", constants::kwdClearNVRAM_CreateLPAR,
+                               l_valToUpdateInVpd)))
+        {
+            logging::logMessage(
+                "Failed to update " +
+                std::string(constants::kwdClearNVRAM_CreateLPAR) +
+                " keyword to VPD");
+        }
+
+        return;
+    }
+    logging::logMessage(
+        "Invalid type recieved for create default Lpar from VPD.");
+}
+
+void IbmBiosHandler::saveCreateDefaultLparToBios(
+    const std::string& i_createDefaultLparVal)
+{
+    // checking for exact length as it is a string and can have garbage value.
+    if (i_createDefaultLparVal.size() != constants::VALUE_1)
+    {
+        logging::logMessage(
+            "Bad size for Create default LPAR in VPD. Skip writing to BIOS.");
+        return;
+    }
+
+    std::string l_valtoUpdate =
+        (i_createDefaultLparVal.at(0) & 0x02) ? "Enabled" : "Disabled";
+
+    types::PendingBIOSAttrs l_pendingBiosAttribute;
+    l_pendingBiosAttribute.push_back(std::make_pair(
+        "pvm_create_default_lpar",
+        std::make_tuple(
+            "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration",
+            l_valtoUpdate)));
+
+    try
+    {
+        dbusUtility::writeDbusProperty(
+            constants::biosConfigMgrService, constants::biosConfigMgrObjPath,
+            constants::biosConfigMgrInterface, "PendingAttributes",
+            l_pendingBiosAttribute);
+    }
+    catch (const std::exception& l_ex)
+    {
+        logging::logMessage(
+            "DBus call to update lpar value in pending attribute failed. " +
+            std::string(l_ex.what()));
+    }
+
+    return;
+}
+
+void IbmBiosHandler::processCreateDefaultLpar()
+{
+    // Read required keyword from DBus.
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::utilInf, constants::kwdClearNVRAM_CreateLPAR);
+
+    if (auto l_pVal = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        saveCreateDefaultLparToBios(std::to_string(l_pVal->at(0)));
+        return;
+    }
+    logging::logMessage(
+        "Invalid type recieved for create default Lpar from VPD.");
+}
+
+void IbmBiosHandler::saveClearNvramToVpd(const std::string& i_clearNvramVal)
+{
+    if (i_clearNvramVal.empty())
+    {
+        logging::logMessage(
+            "Empty value received for clear NVRAM from BIOS. Skip updating to VPD.");
+        return;
+    }
+
+    // Read required keyword from DBus as we need to set only a Bit.
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::utilInf, constants::kwdClearNVRAM_CreateLPAR);
+
+    if (auto l_pVal = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        commonUtility::toLower(const_cast<std::string&>(i_clearNvramVal));
+
+        // Check for third bit. Bit set for enabled else disabled.
+        if (((((*l_pVal).at(0) & 0x04) == 0x04) &&
+             (i_clearNvramVal.compare("enabled") ==
+              constants::STR_CMP_SUCCESS)) ||
+            ((((*l_pVal).at(0) & 0x04) == 0x00) &&
+             (i_clearNvramVal.compare("disabled") ==
+              constants::STR_CMP_SUCCESS)))
+        {
+            // Don't update, values are same.
+            return;
+        }
+
+        types::BinaryVector l_valToUpdateInVpd;
+        if (i_clearNvramVal.compare("enabled") == constants::STR_CMP_SUCCESS)
+        {
+            // 3rd bit is used to store the value.
+            l_valToUpdateInVpd.emplace_back(
+                (*l_pVal).at(0) | constants::VALUE_4);
+        }
+        else
+        {
+            // 3rd bit is used to store the value.
+            l_valToUpdateInVpd.emplace_back(
+                (*l_pVal).at(0) & ~(constants::VALUE_4));
+        }
+
+        if (-1 ==
+            m_manager->updateKeyword(
+                SYSTEM_VPD_FILE_PATH,
+                types::IpzData("UTIL", constants::kwdClearNVRAM_CreateLPAR,
+                               l_valToUpdateInVpd)))
+        {
+            logging::logMessage(
+                "Failed to update " +
+                std::string(constants::kwdClearNVRAM_CreateLPAR) +
+                " keyword to VPD");
+        }
+
+        return;
+    }
+    logging::logMessage("Invalid type recieved for clear NVRAM from VPD.");
+}
+
+void IbmBiosHandler::saveClearNvramToBios(const std::string& i_clearNvramVal)
+{
+    // Check for the exact length as it is a string and it can have a garbage
+    // value.
+    if (i_clearNvramVal.size() != constants::VALUE_1)
+    {
+        logging::logMessage(
+            "Bad size for clear NVRAM in VPD. Skip writing to BIOS.");
+        return;
+    }
+
+    // 3rd bit is used to store clear NVRAM value.
+    std::string l_valtoUpdate =
+        (i_clearNvramVal.at(0) & constants::VALUE_4) ? "Enabled" : "Disabled";
+
+    types::PendingBIOSAttrs l_pendingBiosAttribute;
+    l_pendingBiosAttribute.push_back(std::make_pair(
+        "pvm_clear_nvram",
+        std::make_tuple(
+            "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration",
+            l_valtoUpdate)));
+
+    try
+    {
+        dbusUtility::writeDbusProperty(
+            constants::biosConfigMgrService, constants::biosConfigMgrObjPath,
+            constants::biosConfigMgrInterface, "PendingAttributes",
+            l_pendingBiosAttribute);
+    }
+    catch (const std::exception& l_ex)
+    {
+        logging::logMessage(
+            "DBus call to update NVRAM value in pending attribute failed. " +
+            std::string(l_ex.what()));
+    }
+}
+
+void IbmBiosHandler::processClearNvram()
+{
+    // Read required keyword from VPD.
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::utilInf, constants::kwdClearNVRAM_CreateLPAR);
+
+    if (auto l_pVal = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        saveClearNvramToBios(std::to_string(l_pVal->at(0)));
+        return;
+    }
+    logging::logMessage("Invalid type recieved for clear NVRAM from VPD.");
+}
+
+void IbmBiosHandler::saveKeepAndClearToVpd(const std::string& i_KeepAndClearVal)
+{
+    if (i_KeepAndClearVal.empty())
+    {
+        logging::logMessage(
+            "Empty value received for keep and clear from BIOS. Skip updating to VPD.");
+        return;
+    }
+
+    // Read required keyword from DBus as we need to set only a Bit.
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::utilInf, constants::kwdKeepAndClear);
+
+    if (auto l_pVal = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        commonUtility::toLower(const_cast<std::string&>(i_KeepAndClearVal));
+
+        // Check for first bit. Bit set for enabled else disabled.
+        if (((((*l_pVal).at(0) & 0x01) == 0x01) &&
+             (i_KeepAndClearVal.compare("enabled") ==
+              constants::STR_CMP_SUCCESS)) ||
+            ((((*l_pVal).at(0) & 0x01) == 0x00) &&
+             (i_KeepAndClearVal.compare("disabled") ==
+              constants::STR_CMP_SUCCESS)))
+        {
+            // Don't update, values are same.
+            return;
+        }
+
+        types::BinaryVector l_valToUpdateInVpd;
+        if (i_KeepAndClearVal.compare("enabled") == constants::STR_CMP_SUCCESS)
+        {
+            // 1st bit is used to store the value.
+            l_valToUpdateInVpd.emplace_back(
+                (*l_pVal).at(0) | constants::VALUE_1);
+        }
+        else
+        {
+            // 1st bit is used to store the value.
+            l_valToUpdateInVpd.emplace_back(
+                (*l_pVal).at(0) & ~(constants::VALUE_1));
+        }
+
+        if (-1 == m_manager->updateKeyword(
+                      SYSTEM_VPD_FILE_PATH,
+                      types::IpzData("UTIL", constants::kwdKeepAndClear,
+                                     l_valToUpdateInVpd)))
+        {
+            logging::logMessage(
+                "Failed to update " + std::string(constants::kwdKeepAndClear) +
+                " keyword to VPD");
+        }
+
+        return;
+    }
+    logging::logMessage("Invalid type recieved for keep and clear from VPD.");
+}
+
+void IbmBiosHandler::saveKeepAndClearToBios(
+    const std::string& i_KeepAndClearVal)
+{
+    // checking for exact length as it is a string and can have garbage value.
+    if (i_KeepAndClearVal.size() != constants::VALUE_1)
+    {
+        logging::logMessage(
+            "Bad size for keep and clear in VPD. Skip writing to BIOS.");
+        return;
+    }
+
+    // 1st bit is used to store keep and clear value.
+    std::string l_valtoUpdate =
+        (i_KeepAndClearVal.at(0) & constants::VALUE_1) ? "Enabled" : "Disabled";
+
+    types::PendingBIOSAttrs l_pendingBiosAttribute;
+    l_pendingBiosAttribute.push_back(std::make_pair(
+        "pvm_keep_and_clear",
+        std::make_tuple(
+            "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration",
+            l_valtoUpdate)));
+
+    try
+    {
+        dbusUtility::writeDbusProperty(
+            constants::biosConfigMgrService, constants::biosConfigMgrObjPath,
+            constants::biosConfigMgrInterface, "PendingAttributes",
+            l_pendingBiosAttribute);
+    }
+    catch (const std::exception& l_ex)
+    {
+        logging::logMessage(
+            "DBus call to update keep and clear value in pending attribute failed. " +
+            std::string(l_ex.what()));
+    }
+}
+
+void IbmBiosHandler::processKeepAndClear()
+{
+    // Read required keyword from VPD.
+    auto l_kwdValueVariant = dbusUtility::readDbusProperty(
+        constants::pimServiceName, constants::systemVpdInvPath,
+        constants::utilInf, constants::kwdKeepAndClear);
+
+    if (auto l_pVal = std::get_if<types::BinaryVector>(&l_kwdValueVariant))
+    {
+        saveKeepAndClearToBios(std::to_string(l_pVal->at(0)));
+        return;
+    }
+    logging::logMessage("Invalid type recieved for keep and clear from VPD.");
+}
+} // namespace vpd
diff --git a/vpd-manager/src/ddimm_parser.cpp b/vpd-manager/src/ddimm_parser.cpp
new file mode 100644
index 0000000..0da4ddc
--- /dev/null
+++ b/vpd-manager/src/ddimm_parser.cpp
@@ -0,0 +1,393 @@
+#include "ddimm_parser.hpp"
+
+#include "constants.hpp"
+#include "exceptions.hpp"
+
+#include <cmath>
+#include <cstdint>
+#include <iostream>
+#include <numeric>
+#include <string>
+
+namespace vpd
+{
+
+static constexpr auto SDRAM_DENSITY_PER_DIE_24GB = 24;
+static constexpr auto SDRAM_DENSITY_PER_DIE_32GB = 32;
+static constexpr auto SDRAM_DENSITY_PER_DIE_48GB = 48;
+static constexpr auto SDRAM_DENSITY_PER_DIE_64GB = 64;
+static constexpr auto SDRAM_DENSITY_PER_DIE_UNDEFINED = 0;
+
+static constexpr auto PRIMARY_BUS_WIDTH_32_BITS = 32;
+static constexpr auto PRIMARY_BUS_WIDTH_UNUSED = 0;
+
+bool DdimmVpdParser::checkValidValue(uint8_t i_ByteValue, uint8_t i_shift,
+                                     uint8_t i_minValue, uint8_t i_maxValue)
+{
+    bool l_isValid = true;
+    uint8_t l_ByteValue = i_ByteValue >> i_shift;
+    if ((l_ByteValue > i_maxValue) || (l_ByteValue < i_minValue))
+    {
+        logging::logMessage(
+            "Non valid Value encountered value[" + std::to_string(l_ByteValue) +
+            "] range [" + std::to_string(i_minValue) + ".." +
+            std::to_string(i_maxValue) + "] found ");
+        return false;
+    }
+    return l_isValid;
+}
+
+uint8_t DdimmVpdParser::getDdr5DensityPerDie(uint8_t i_ByteValue)
+{
+    uint8_t l_densityPerDie = SDRAM_DENSITY_PER_DIE_UNDEFINED;
+    if (i_ByteValue < constants::VALUE_5)
+    {
+        l_densityPerDie = i_ByteValue * constants::VALUE_4;
+    }
+    else
+    {
+        switch (i_ByteValue)
+        {
+            case constants::VALUE_5:
+                l_densityPerDie = SDRAM_DENSITY_PER_DIE_24GB;
+                break;
+
+            case constants::VALUE_6:
+                l_densityPerDie = SDRAM_DENSITY_PER_DIE_32GB;
+                break;
+
+            case constants::VALUE_7:
+                l_densityPerDie = SDRAM_DENSITY_PER_DIE_48GB;
+                break;
+
+            case constants::VALUE_8:
+                l_densityPerDie = SDRAM_DENSITY_PER_DIE_64GB;
+                break;
+
+            default:
+                logging::logMessage(
+                    "default value encountered for density per die");
+                l_densityPerDie = SDRAM_DENSITY_PER_DIE_UNDEFINED;
+                break;
+        }
+    }
+    return l_densityPerDie;
+}
+
+uint8_t DdimmVpdParser::getDdr5DiePerPackage(uint8_t i_ByteValue)
+{
+    uint8_t l_DiePerPackage = constants::VALUE_0;
+    if (i_ByteValue < constants::VALUE_2)
+    {
+        l_DiePerPackage = i_ByteValue + constants::VALUE_1;
+    }
+    else
+    {
+        l_DiePerPackage =
+            pow(constants::VALUE_2, (i_ByteValue - constants::VALUE_1));
+    }
+    return l_DiePerPackage;
+}
+
+size_t DdimmVpdParser::getDdr5BasedDdimmSize(
+    types::BinaryVector::const_iterator i_iterator)
+{
+    size_t l_dimmSize = 0;
+
+    do
+    {
+        if (!checkValidValue(i_iterator[constants::SPD_BYTE_235] &
+                                 constants::MASK_BYTE_BITS_01,
+                             constants::SHIFT_BITS_0, constants::VALUE_1,
+                             constants::VALUE_3) ||
+            !checkValidValue(i_iterator[constants::SPD_BYTE_235] &
+                                 constants::MASK_BYTE_BITS_345,
+                             constants::SHIFT_BITS_3, constants::VALUE_1,
+                             constants::VALUE_3))
+        {
+            logging::logMessage(
+                "Capacity calculation failed for channels per DIMM. DDIMM Byte "
+                "235 value [" +
+                std::to_string(i_iterator[constants::SPD_BYTE_235]) + "]");
+            break;
+        }
+        uint8_t l_channelsPerPhy =
+            (((i_iterator[constants::SPD_BYTE_235] &
+               constants::MASK_BYTE_BITS_01)
+                  ? constants::VALUE_1
+                  : constants::VALUE_0) +
+             ((i_iterator[constants::SPD_BYTE_235] &
+               constants::MASK_BYTE_BITS_345)
+                  ? constants::VALUE_1
+                  : constants::VALUE_0));
+
+        uint8_t l_channelsPerDdimm =
+            (((i_iterator[constants::SPD_BYTE_235] &
+               constants::MASK_BYTE_BIT_6) >>
+              constants::VALUE_6) +
+             ((i_iterator[constants::SPD_BYTE_235] &
+               constants::MASK_BYTE_BIT_7) >>
+              constants::VALUE_7)) *
+            l_channelsPerPhy;
+
+        if (!checkValidValue(i_iterator[constants::SPD_BYTE_235] &
+                                 constants::MASK_BYTE_BITS_012,
+                             constants::SHIFT_BITS_0, constants::VALUE_1,
+                             constants::VALUE_3))
+        {
+            logging::logMessage(
+                "Capacity calculation failed for bus width per channel. DDIMM "
+                "Byte 235 value [" +
+                std::to_string(i_iterator[constants::SPD_BYTE_235]) + "]");
+            break;
+        }
+        uint8_t l_busWidthPerChannel =
+            (i_iterator[constants::SPD_BYTE_235] &
+             constants::MASK_BYTE_BITS_012)
+                ? PRIMARY_BUS_WIDTH_32_BITS
+                : PRIMARY_BUS_WIDTH_UNUSED;
+
+        if (!checkValidValue(i_iterator[constants::SPD_BYTE_4] &
+                                 constants::MASK_BYTE_BITS_567,
+                             constants::SHIFT_BITS_5, constants::VALUE_0,
+                             constants::VALUE_5))
+        {
+            logging::logMessage(
+                "Capacity calculation failed for die per package. DDIMM Byte 4 "
+                "value [" +
+                std::to_string(i_iterator[constants::SPD_BYTE_4]) + "]");
+            break;
+        }
+        uint8_t l_diePerPackage = getDdr5DiePerPackage(
+            (i_iterator[constants::SPD_BYTE_4] &
+             constants::MASK_BYTE_BITS_567) >>
+            constants::VALUE_5);
+
+        if (!checkValidValue(i_iterator[constants::SPD_BYTE_4] &
+                                 constants::MASK_BYTE_BITS_01234,
+                             constants::SHIFT_BITS_0, constants::VALUE_1,
+                             constants::VALUE_8))
+        {
+            logging::logMessage(
+                "Capacity calculation failed for SDRAM Density per Die. DDIMM "
+                "Byte 4 value [" +
+                std::to_string(i_iterator[constants::SPD_BYTE_4]) + "]");
+            break;
+        }
+        uint8_t l_densityPerDie = getDdr5DensityPerDie(
+            i_iterator[constants::SPD_BYTE_4] &
+            constants::MASK_BYTE_BITS_01234);
+
+        uint8_t l_ranksPerChannel = 0;
+
+        if (((i_iterator[constants::SPD_BYTE_234] &
+              constants::MASK_BYTE_BIT_7) >>
+             constants::VALUE_7))
+        {
+            l_ranksPerChannel = ((i_iterator[constants::SPD_BYTE_234] &
+                                  constants::MASK_BYTE_BITS_345) >>
+                                 constants::VALUE_3) +
+                                constants::VALUE_1;
+        }
+        else if (((i_iterator[constants::SPD_BYTE_235] &
+                   constants::MASK_BYTE_BIT_6) >>
+                  constants::VALUE_6))
+        {
+            l_ranksPerChannel = (i_iterator[constants::SPD_BYTE_234] &
+                                 constants::MASK_BYTE_BITS_012) +
+                                constants::VALUE_1;
+        }
+
+        if (!checkValidValue(i_iterator[constants::SPD_BYTE_6] &
+                                 constants::MASK_BYTE_BITS_567,
+                             constants::SHIFT_BITS_5, constants::VALUE_0,
+                             constants::VALUE_3))
+        {
+            logging::logMessage(
+                "Capacity calculation failed for dram width DDIMM Byte 6 value "
+                "[" +
+                std::to_string(i_iterator[constants::SPD_BYTE_6]) + "]");
+            break;
+        }
+        uint8_t l_dramWidth =
+            constants::VALUE_4 *
+            (constants::VALUE_1 << ((i_iterator[constants::SPD_BYTE_6] &
+                                     constants::MASK_BYTE_BITS_567) >>
+                                    constants::VALUE_5));
+
+        // DDIMM size is calculated in GB
+        l_dimmSize = (l_channelsPerDdimm * l_busWidthPerChannel *
+                      l_diePerPackage * l_densityPerDie * l_ranksPerChannel) /
+                     (8 * l_dramWidth);
+
+    } while (false);
+
+    return constants::CONVERT_GB_TO_KB * l_dimmSize;
+}
+
+size_t DdimmVpdParser::getDdr4BasedDdimmSize(
+    types::BinaryVector::const_iterator i_iterator)
+{
+    size_t l_dimmSize = 0;
+    try
+    {
+        uint8_t l_tmpValue = 0;
+
+        // Calculate SDRAM capacity
+        l_tmpValue = i_iterator[constants::SPD_BYTE_4] &
+                     constants::JEDEC_SDRAM_CAP_MASK;
+
+        /* Make sure the bits are not Reserved */
+        if (l_tmpValue > constants::JEDEC_SDRAMCAP_RESERVED)
+        {
+            throw std::runtime_error(
+                "Bad data in VPD byte 4. Can't calculate SDRAM capacity and so "
+                "dimm size.\n ");
+        }
+
+        uint16_t l_sdramCapacity = 1;
+        l_sdramCapacity = (l_sdramCapacity << l_tmpValue) *
+                          constants::JEDEC_SDRAMCAP_MULTIPLIER;
+
+        /* Calculate Primary bus width */
+        l_tmpValue = i_iterator[constants::SPD_BYTE_13] &
+                     constants::JEDEC_PRI_BUS_WIDTH_MASK;
+
+        if (l_tmpValue > constants::JEDEC_RESERVED_BITS)
+        {
+            throw std::runtime_error(
+                "Bad data in VPD byte 13. Can't calculate primary bus width "
+                "and so dimm size.");
+        }
+
+        uint8_t l_primaryBusWid = 1;
+        l_primaryBusWid = (l_primaryBusWid << l_tmpValue) *
+                          constants::JEDEC_PRI_BUS_WIDTH_MULTIPLIER;
+
+        /* Calculate SDRAM width */
+        l_tmpValue = i_iterator[constants::SPD_BYTE_12] &
+                     constants::JEDEC_SDRAM_WIDTH_MASK;
+
+        if (l_tmpValue > constants::JEDEC_RESERVED_BITS)
+        {
+            throw std::runtime_error(
+                "Bad data in VPD byte 12. Can't calculate SDRAM width and so "
+                "dimm size.");
+        }
+
+        uint8_t l_sdramWidth = 1;
+        l_sdramWidth = (l_sdramWidth << l_tmpValue) *
+                       constants::JEDEC_SDRAM_WIDTH_MULTIPLIER;
+
+        /* Calculate Number of ranks */
+        l_tmpValue = i_iterator[constants::SPD_BYTE_12] &
+                     constants::JEDEC_NUM_RANKS_MASK;
+        l_tmpValue >>= constants::JEDEC_RESERVED_BITS;
+
+        if (l_tmpValue > constants::JEDEC_RESERVED_BITS)
+        {
+            throw std::runtime_error(
+                "Bad data in VPD byte 12, can't calculate number of ranks. Invalid data found.");
+        }
+
+        uint8_t l_logicalRanksPerDimm = l_tmpValue + 1;
+
+        // Determine is single load stack (3DS) or not
+        l_tmpValue = i_iterator[constants::SPD_BYTE_6] &
+                     constants::JEDEC_SIGNAL_LOADING_MASK;
+
+        if (l_tmpValue == constants::JEDEC_SINGLE_LOAD_STACK)
+        {
+            // Fetch die count
+            l_tmpValue = i_iterator[constants::SPD_BYTE_6] &
+                         constants::JEDEC_DIE_COUNT_MASK;
+            l_tmpValue >>= constants::JEDEC_DIE_COUNT_RIGHT_SHIFT;
+
+            uint8_t l_dieCount = l_tmpValue + 1;
+            l_logicalRanksPerDimm *= l_dieCount;
+        }
+
+        l_dimmSize =
+            (l_sdramCapacity / constants::JEDEC_PRI_BUS_WIDTH_MULTIPLIER) *
+            (l_primaryBusWid / l_sdramWidth) * l_logicalRanksPerDimm;
+
+        // Converting dimm size from MB to KB
+        l_dimmSize *= constants::CONVERT_MB_TO_KB;
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO:: Need an error log here
+        logging::logMessage("DDR4 DDIMM calculation is failed, reason: " +
+                            std::string(l_ex.what()));
+    }
+    return l_dimmSize;
+}
+
+size_t
+    DdimmVpdParser::getDdimmSize(types::BinaryVector::const_iterator i_iterator)
+{
+    size_t l_dimmSize = 0;
+    if (i_iterator[constants::SPD_BYTE_2] == constants::SPD_DRAM_TYPE_DDR5)
+    {
+        l_dimmSize = getDdr5BasedDdimmSize(i_iterator);
+    }
+    else if (i_iterator[constants::SPD_BYTE_2] == constants::SPD_DRAM_TYPE_DDR4)
+    {
+        l_dimmSize = getDdr4BasedDdimmSize(i_iterator);
+    }
+    else
+    {
+        logging::logMessage(
+            "Error: DDIMM is neither DDR4 nor DDR5. DDIMM Byte 2 value [" +
+            std::to_string(i_iterator[constants::SPD_BYTE_2]) + "]");
+    }
+    return l_dimmSize;
+}
+
+void DdimmVpdParser::readKeywords(
+    types::BinaryVector::const_iterator i_iterator)
+{
+    // collect DDIMM size value
+    auto l_dimmSize = getDdimmSize(i_iterator);
+    if (!l_dimmSize)
+    {
+        throw(DataException("Error: Calculated dimm size is 0."));
+    }
+
+    m_parsedVpdMap.emplace("MemorySizeInKB", l_dimmSize);
+    // point the i_iterator to DIMM data and skip "11S"
+    advance(i_iterator, constants::DDIMM_11S_BARCODE_START +
+                            constants::DDIMM_11S_FORMAT_LEN);
+    types::BinaryVector l_partNumber(i_iterator,
+                                     i_iterator + constants::PART_NUM_LEN);
+
+    advance(i_iterator, constants::PART_NUM_LEN);
+    types::BinaryVector l_serialNumber(i_iterator,
+                                       i_iterator + constants::SERIAL_NUM_LEN);
+
+    advance(i_iterator, constants::SERIAL_NUM_LEN);
+    types::BinaryVector l_ccin(i_iterator, i_iterator + constants::CCIN_LEN);
+
+    m_parsedVpdMap.emplace("FN", l_partNumber);
+    m_parsedVpdMap.emplace("PN", move(l_partNumber));
+    m_parsedVpdMap.emplace("SN", move(l_serialNumber));
+    m_parsedVpdMap.emplace("CC", move(l_ccin));
+}
+
+types::VPDMapVariant DdimmVpdParser::parse()
+{
+    try
+    {
+        // Read the data and return the map
+        auto l_iterator = m_vpdVector.cbegin();
+        readKeywords(l_iterator);
+        return m_parsedVpdMap;
+    }
+    catch (const std::exception& exp)
+    {
+        logging::logMessage(exp.what());
+        throw exp;
+    }
+}
+
+} // namespace vpd
diff --git a/vpd-manager/src/event_logger.cpp b/vpd-manager/src/event_logger.cpp
new file mode 100644
index 0000000..11861d1
--- /dev/null
+++ b/vpd-manager/src/event_logger.cpp
@@ -0,0 +1,294 @@
+#include "event_logger.hpp"
+
+#include "logger.hpp"
+
+#include <systemd/sd-bus.h>
+
+namespace vpd
+{
+const std::unordered_map<types::SeverityType, std::string>
+    EventLogger::m_severityMap = {
+        {types::SeverityType::Notice,
+         "xyz.openbmc_project.Logging.Entry.Level.Notice"},
+        {types::SeverityType::Informational,
+         "xyz.openbmc_project.Logging.Entry.Level.Informational"},
+        {types::SeverityType::Debug,
+         "xyz.openbmc_project.Logging.Entry.Level.Debug"},
+        {types::SeverityType::Warning,
+         "xyz.openbmc_project.Logging.Entry.Level.Warning"},
+        {types::SeverityType::Critical,
+         "xyz.openbmc_project.Logging.Entry.Level.Critical"},
+        {types::SeverityType::Emergency,
+         "xyz.openbmc_project.Logging.Entry.Level.Emergency"},
+        {types::SeverityType::Alert,
+         "xyz.openbmc_project.Logging.Entry.Level.Alert"},
+        {types::SeverityType::Error,
+         "xyz.openbmc_project.Logging.Entry.Level.Error"}};
+
+const std::unordered_map<types::ErrorType, std::string>
+    EventLogger::m_errorMsgMap = {
+        {types::ErrorType::DefaultValue, "com.ibm.VPD.Error.DefaultValue"},
+        {types::ErrorType::InvalidVpdMessage, "com.ibm.VPD.Error.InvalidVPD"},
+        {types::ErrorType::VpdMismatch, "com.ibm.VPD.Error.Mismatch"},
+        {types::ErrorType::InvalidEeprom,
+         "com.ibm.VPD.Error.InvalidEepromPath"},
+        {types::ErrorType::EccCheckFailed, "com.ibm.VPD.Error.EccCheckFailed"},
+        {types::ErrorType::JsonFailure, "com.ibm.VPD.Error.InvalidJson"},
+        {types::ErrorType::DbusFailure, "com.ibm.VPD.Error.DbusFailure"},
+        {types::ErrorType::InvalidSystem,
+         "com.ibm.VPD.Error.UnknownSystemType"},
+        {types::ErrorType::EssentialFru,
+         "com.ibm.VPD.Error.RequiredFRUMissing"},
+        {types::ErrorType::GpioError, "com.ibm.VPD.Error.GPIOError"}};
+
+const std::unordered_map<types::CalloutPriority, std::string>
+    EventLogger::m_priorityMap = {
+        {types::CalloutPriority::High, "H"},
+        {types::CalloutPriority::Medium, "M"},
+        {types::CalloutPriority::MediumGroupA, "A"},
+        {types::CalloutPriority::MediumGroupB, "B"},
+        {types::CalloutPriority::MediumGroupC, "C"},
+        {types::CalloutPriority::Low, "L"}};
+
+void EventLogger::createAsyncPelWithInventoryCallout(
+    const types::ErrorType& i_errorType, const types::SeverityType& i_severity,
+    const std::vector<types::InventoryCalloutData>& i_callouts,
+    const std::string& i_fileName, const std::string& i_funcName,
+    const uint8_t i_internalRc, const std::string& i_description,
+    const std::optional<std::string> i_userData1,
+    const std::optional<std::string> i_userData2,
+    const std::optional<std::string> i_symFru,
+    const std::optional<std::string> i_procedure)
+{
+    (void)i_symFru;
+    (void)i_procedure;
+
+    try
+    {
+        if (i_callouts.empty())
+        {
+            logging::logMessage("Callout information is missing to create PEL");
+            // TODO: Revisit this instead of simpley returning.
+            return;
+        }
+
+        if (m_errorMsgMap.find(i_errorType) == m_errorMsgMap.end())
+        {
+            throw std::runtime_error(
+                "Error type not found in the error message map to create PEL");
+            // TODO: Need to handle, instead of throwing exception. Create
+            // default message in message_registry.json.
+        }
+
+        const std::string& l_message = m_errorMsgMap.at(i_errorType);
+
+        const std::string& l_severity =
+            (m_severityMap.find(i_severity) != m_severityMap.end()
+                 ? m_severityMap.at(i_severity)
+                 : m_severityMap.at(types::SeverityType::Informational));
+
+        std::string l_description =
+            (!i_description.empty() ? i_description : "VPD generic error");
+
+        std::string l_userData1 = (i_userData1) ? (*i_userData1) : "";
+
+        std::string l_userData2 = (i_userData2) ? (*i_userData2) : "";
+
+        const types::InventoryCalloutData& l_invCallout = i_callouts[0];
+        // TODO: Need to handle multiple inventory path callout's, when multiple
+        // callout's is supported by "Logging" service.
+
+        const types::CalloutPriority& l_priorityEnum = get<1>(l_invCallout);
+
+        const std::string& l_priority =
+            (m_priorityMap.find(l_priorityEnum) != m_priorityMap.end()
+                 ? m_priorityMap.at(l_priorityEnum)
+                 : m_priorityMap.at(types::CalloutPriority::Low));
+
+        sd_bus* l_sdBus = nullptr;
+        sd_bus_default(&l_sdBus);
+
+        const uint8_t l_additionalDataCount = 8;
+        auto l_rc = sd_bus_call_method_async(
+            l_sdBus, NULL, constants::eventLoggingServiceName,
+            constants::eventLoggingObjectPath, constants::eventLoggingInterface,
+            "Create", NULL, NULL, "ssa{ss}", l_message.c_str(),
+            l_severity.c_str(), l_additionalDataCount, "FileName",
+            i_fileName.c_str(), "FunctionName", i_funcName.c_str(),
+            "InternalRc", std::to_string(i_internalRc).c_str(), "DESCRIPTION",
+            l_description.c_str(), "UserData1", l_userData1.c_str(),
+            "UserData2", l_userData2.c_str(), "CALLOUT_INVENTORY_PATH",
+            get<0>(l_invCallout).c_str(), "CALLOUT_PRIORITY",
+            l_priority.c_str());
+
+        if (l_rc < 0)
+        {
+            logging::logMessage(
+                "Error calling sd_bus_call_method_async, Message = " +
+                std::string(strerror(-l_rc)));
+        }
+    }
+    catch (const std::exception& l_ex)
+    {
+        logging::logMessage(
+            "Create PEL failed with error: " + std::string(l_ex.what()));
+    }
+}
+
+void EventLogger::createAsyncPelWithI2cDeviceCallout(
+    const types::ErrorType i_errorType, const types::SeverityType i_severity,
+    const std::vector<types::DeviceCalloutData>& i_callouts,
+    const std::string& i_fileName, const std::string& i_funcName,
+    const uint8_t i_internalRc,
+    const std::optional<std::pair<std::string, std::string>> i_userData1,
+    const std::optional<std::pair<std::string, std::string>> i_userData2)
+{
+    // TODO, implementation needs to be added.
+    (void)i_errorType;
+    (void)i_severity;
+    (void)i_callouts;
+    (void)i_fileName;
+    (void)i_funcName;
+    (void)i_internalRc;
+    (void)i_userData1;
+    (void)i_userData2;
+}
+
+void EventLogger::createAsyncPelWithI2cBusCallout(
+    const types::ErrorType i_errorType, const types::SeverityType i_severity,
+    const std::vector<types::I2cBusCalloutData>& i_callouts,
+    const std::string& i_fileName, const std::string& i_funcName,
+    const uint8_t i_internalRc,
+    const std::optional<std::pair<std::string, std::string>> i_userData1,
+    const std::optional<std::pair<std::string, std::string>> i_userData2)
+{
+    // TODO, implementation needs to be added.
+    (void)i_errorType;
+    (void)i_severity;
+    (void)i_callouts;
+    (void)i_fileName;
+    (void)i_funcName;
+    (void)i_internalRc;
+    (void)i_userData1;
+    (void)i_userData2;
+}
+
+void EventLogger::createAsyncPel(
+    const types::ErrorType& i_errorType, const types::SeverityType& i_severity,
+    const std::string& i_fileName, const std::string& i_funcName,
+    const uint8_t i_internalRc, const std::string& i_description,
+    const std::optional<std::string> i_userData1,
+    const std::optional<std::string> i_userData2,
+    const std::optional<std::string> i_symFru,
+    const std::optional<std::string> i_procedure)
+{
+    (void)i_symFru;
+    (void)i_procedure;
+    try
+    {
+        if (m_errorMsgMap.find(i_errorType) == m_errorMsgMap.end())
+        {
+            throw std::runtime_error("Unsupported error type received");
+            // TODO: Need to handle, instead of throwing an exception.
+        }
+
+        const std::string& l_message = m_errorMsgMap.at(i_errorType);
+
+        const std::string& l_severity =
+            (m_severityMap.find(i_severity) != m_severityMap.end()
+                 ? m_severityMap.at(i_severity)
+                 : m_severityMap.at(types::SeverityType::Informational));
+
+        const std::string l_description =
+            ((!i_description.empty() ? i_description : "VPD generic error"));
+
+        const std::string l_userData1 = ((i_userData1) ? (*i_userData1) : "");
+
+        const std::string l_userData2 = ((i_userData2) ? (*i_userData2) : "");
+
+        sd_bus* l_sdBus = nullptr;
+        sd_bus_default(&l_sdBus);
+
+        // VALUE_6 represents the additional data pair count passing to create
+        // PEL. If there any change in additional data, we need to pass the
+        // correct number.
+        auto l_rc = sd_bus_call_method_async(
+            l_sdBus, NULL, constants::eventLoggingServiceName,
+            constants::eventLoggingObjectPath, constants::eventLoggingInterface,
+            "Create", NULL, NULL, "ssa{ss}", l_message.c_str(),
+            l_severity.c_str(), constants::VALUE_6, "FileName",
+            i_fileName.c_str(), "FunctionName", i_funcName.c_str(),
+            "InternalRc", std::to_string(i_internalRc).c_str(), "DESCRIPTION",
+            l_description.c_str(), "UserData1", l_userData1.c_str(),
+            "UserData2", l_userData2.c_str());
+
+        if (l_rc < 0)
+        {
+            logging::logMessage(
+                "Error calling sd_bus_call_method_async, Message = " +
+                std::string(strerror(-l_rc)));
+        }
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        logging::logMessage("Async PEL creation failed with an error: " +
+                            std::string(l_ex.what()));
+    }
+}
+
+void EventLogger::createSyncPel(
+    const types::ErrorType& i_errorType, const types::SeverityType& i_severity,
+    const std::string& i_fileName, const std::string& i_funcName,
+    const uint8_t i_internalRc, const std::string& i_description,
+    const std::optional<std::string> i_userData1,
+    const std::optional<std::string> i_userData2,
+    const std::optional<std::string> i_symFru,
+    const std::optional<std::string> i_procedure)
+{
+    (void)i_symFru;
+    (void)i_procedure;
+    try
+    {
+        if (m_errorMsgMap.find(i_errorType) == m_errorMsgMap.end())
+        {
+            throw std::runtime_error("Unsupported error type received");
+            // TODO: Need to handle, instead of throwing an exception.
+        }
+
+        const std::string& l_message = m_errorMsgMap.at(i_errorType);
+
+        const std::string& l_severity =
+            (m_severityMap.find(i_severity) != m_severityMap.end()
+                 ? m_severityMap.at(i_severity)
+                 : m_severityMap.at(types::SeverityType::Informational));
+
+        const std::string l_description =
+            ((!i_description.empty() ? i_description : "VPD generic error"));
+
+        const std::string l_userData1 = ((i_userData1) ? (*i_userData1) : "");
+
+        const std::string l_userData2 = ((i_userData2) ? (*i_userData2) : "");
+
+        std::map<std::string, std::string> l_additionalData{
+            {"FileName", i_fileName},
+            {"FunctionName", i_funcName},
+            {"DESCRIPTION", l_description},
+            {"InteranlRc", std::to_string(i_internalRc)},
+            {"UserData1", l_userData1.c_str()},
+            {"UserData2", l_userData2.c_str()}};
+
+        auto l_bus = sdbusplus::bus::new_default();
+        auto l_method =
+            l_bus.new_method_call(constants::eventLoggingServiceName,
+                                  constants::eventLoggingObjectPath,
+                                  constants::eventLoggingInterface, "Create");
+        l_method.append(l_message, l_severity, l_additionalData);
+        l_bus.call(l_method);
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        logging::logMessage("Sync PEL creation failed with an error: " +
+                            std::string(l_ex.what()));
+    }
+}
+} // namespace vpd
diff --git a/vpd-manager/src/gpio_monitor.cpp b/vpd-manager/src/gpio_monitor.cpp
new file mode 100644
index 0000000..521037c
--- /dev/null
+++ b/vpd-manager/src/gpio_monitor.cpp
@@ -0,0 +1,131 @@
+#include "gpio_monitor.hpp"
+
+#include "constants.hpp"
+#include "logger.hpp"
+#include "types.hpp"
+#include "utility/dbus_utility.hpp"
+#include "utility/json_utility.hpp"
+
+#include <boost/asio.hpp>
+#include <boost/bind/bind.hpp>
+#include <gpiod.hpp>
+
+namespace vpd
+{
+void GpioEventHandler::handleChangeInGpioPin(const bool& i_isFruPresent)
+{
+    try
+    {
+        if (i_isFruPresent)
+        {
+            types::VPDMapVariant l_parsedVpd =
+                m_worker->parseVpdFile(m_fruPath);
+
+            if (std::holds_alternative<std::monostate>(l_parsedVpd))
+            {
+                throw std::runtime_error(
+                    "VPD parsing failed for " + std::string(m_fruPath));
+            }
+
+            types::ObjectMap l_dbusObjectMap;
+            m_worker->populateDbus(l_parsedVpd, l_dbusObjectMap, m_fruPath);
+
+            if (l_dbusObjectMap.empty())
+            {
+                throw std::runtime_error("Failed to create D-bus object map.");
+            }
+
+            if (!dbusUtility::callPIM(move(l_dbusObjectMap)))
+            {
+                throw std::runtime_error("call PIM failed");
+            }
+        }
+        else
+        {
+            // TODO -- Add implementation to Delete FRU if FRU is not present.
+        }
+    }
+    catch (std::exception& l_ex)
+    {
+        logging::logMessage(std::string(l_ex.what()));
+    }
+}
+
+void GpioEventHandler::handleTimerExpiry(
+    const boost::system::error_code& i_errorCode,
+    const std::shared_ptr<boost::asio::steady_timer>& i_timerObj)
+{
+    if (i_errorCode == boost::asio::error::operation_aborted)
+    {
+        logging::logMessage("Timer aborted for GPIO pin");
+        return;
+    }
+
+    if (i_errorCode)
+    {
+        logging::logMessage("Timer wait failed for gpio pin" +
+                            std::string(i_errorCode.message()));
+        return;
+    }
+
+    bool l_currentPresencePinValue = jsonUtility::processGpioPresenceTag(
+        m_worker->getSysCfgJsonObj(), m_fruPath, "pollingRequired",
+        "hotPlugging");
+
+    if (m_prevPresencePinValue != l_currentPresencePinValue)
+    {
+        m_prevPresencePinValue = l_currentPresencePinValue;
+        handleChangeInGpioPin(l_currentPresencePinValue);
+    }
+
+    i_timerObj->expires_at(std::chrono::steady_clock::now() +
+                           std::chrono::seconds(constants::VALUE_5));
+    i_timerObj->async_wait(
+        boost::bind(&GpioEventHandler::handleTimerExpiry, this,
+                    boost::asio::placeholders::error, i_timerObj));
+}
+
+void GpioEventHandler::setEventHandlerForGpioPresence(
+    const std::shared_ptr<boost::asio::io_context>& i_ioContext)
+{
+    m_prevPresencePinValue = jsonUtility::processGpioPresenceTag(
+        m_worker->getSysCfgJsonObj(), m_fruPath, "pollingRequired",
+        "hotPlugging");
+
+    static std::vector<std::shared_ptr<boost::asio::steady_timer>> l_timers;
+
+    auto l_timerObj = make_shared<boost::asio::steady_timer>(
+        *i_ioContext, std::chrono::seconds(constants::VALUE_5));
+
+    l_timerObj->async_wait(
+        boost::bind(&GpioEventHandler::handleTimerExpiry, this,
+                    boost::asio::placeholders::error, l_timerObj));
+
+    l_timers.push_back(l_timerObj);
+}
+
+void GpioMonitor::initHandlerForGpio(
+    const std::shared_ptr<boost::asio::io_context>& i_ioContext,
+    const std::shared_ptr<Worker>& i_worker)
+{
+    try
+    {
+        std::vector<std::string> l_gpioPollingRequiredFrusList =
+            jsonUtility::getListOfGpioPollingFrus(m_sysCfgJsonObj);
+
+        for (const auto& l_fruPath : l_gpioPollingRequiredFrusList)
+        {
+            std::shared_ptr<GpioEventHandler> l_gpioEventHandlerObj =
+                std::make_shared<GpioEventHandler>(l_fruPath, i_worker,
+                                                   i_ioContext);
+
+            m_gpioEventHandlerObjects.push_back(l_gpioEventHandlerObj);
+        }
+    }
+    catch (std::exception& l_ex)
+    {
+        // TODO log PEL for exception.
+        logging::logMessage(l_ex.what());
+    }
+}
+} // namespace vpd
diff --git a/vpd-manager/src/ipz_parser.cpp b/vpd-manager/src/ipz_parser.cpp
new file mode 100644
index 0000000..4300e12
--- /dev/null
+++ b/vpd-manager/src/ipz_parser.cpp
@@ -0,0 +1,842 @@
+#include "config.h"
+
+#include "ipz_parser.hpp"
+
+#include "vpdecc/vpdecc.h"
+
+#include "constants.hpp"
+#include "exceptions.hpp"
+
+#include <nlohmann/json.hpp>
+
+#include <typeindex>
+
+namespace vpd
+{
+
+// Offset of different entries in VPD data.
+enum Offset
+{
+    VHDR = 17,
+    VHDR_TOC_ENTRY = 29,
+    VTOC_PTR = 35,
+    VTOC_REC_LEN = 37,
+    VTOC_ECC_OFF = 39,
+    VTOC_ECC_LEN = 41,
+    VTOC_DATA = 13,
+    VHDR_ECC = 0,
+    VHDR_RECORD = 11
+};
+
+// Length of some specific entries w.r.t VPD data.
+enum Length
+{
+    RECORD_NAME = 4,
+    KW_NAME = 2,
+    RECORD_OFFSET = 2,
+    RECORD_MIN = 44,
+    RECORD_LENGTH = 2,
+    RECORD_ECC_OFFSET = 2,
+    VHDR_ECC_LENGTH = 11,
+    VHDR_RECORD_LENGTH = 44,
+    RECORD_TYPE = 2,
+    SKIP_A_RECORD_IN_PT = 14,
+    JUMP_TO_RECORD_NAME = 6
+}; // enum Length
+
+/**
+ * @brief API to read 2 bytes LE data.
+ *
+ * @param[in] iterator - iterator to VPD vector.
+ * @return read bytes.
+ */
+static uint16_t readUInt16LE(types::BinaryVector::const_iterator iterator)
+{
+    uint16_t lowByte = *iterator;
+    uint16_t highByte = *(iterator + 1);
+    lowByte |= (highByte << 8);
+    return lowByte;
+}
+
+bool IpzVpdParser::vhdrEccCheck()
+{
+    auto vpdPtr = m_vpdVector.cbegin();
+
+    auto l_status = vpdecc_check_data(
+        const_cast<uint8_t*>(&vpdPtr[Offset::VHDR_RECORD]),
+        Length::VHDR_RECORD_LENGTH,
+        const_cast<uint8_t*>(&vpdPtr[Offset::VHDR_ECC]),
+        Length::VHDR_ECC_LENGTH);
+    if (l_status == VPD_ECC_CORRECTABLE_DATA)
+    {
+        try
+        {
+            if (m_vpdFileStream.is_open())
+            {
+                m_vpdFileStream.seekp(m_vpdStartOffset + Offset::VHDR_RECORD,
+                                      std::ios::beg);
+                m_vpdFileStream.write(reinterpret_cast<const char*>(
+                                          &m_vpdVector[Offset::VHDR_RECORD]),
+                                      Length::VHDR_RECORD_LENGTH);
+            }
+            else
+            {
+                logging::logMessage("File not open");
+                return false;
+            }
+        }
+        catch (const std::fstream::failure& e)
+        {
+            logging::logMessage(
+                "Error while operating on file with exception: " +
+                std::string(e.what()));
+            return false;
+        }
+    }
+    else if (l_status != VPD_ECC_OK)
+    {
+        return false;
+    }
+
+    return true;
+}
+
+bool IpzVpdParser::vtocEccCheck()
+{
+    auto vpdPtr = m_vpdVector.cbegin();
+
+    std::advance(vpdPtr, Offset::VTOC_PTR);
+
+    // The offset to VTOC could be 1 or 2 bytes long
+    auto vtocOffset = readUInt16LE(vpdPtr);
+
+    // Get the VTOC Length
+    std::advance(vpdPtr, sizeof(types::RecordOffset));
+    auto vtocLength = readUInt16LE(vpdPtr);
+
+    // Get the ECC Offset
+    std::advance(vpdPtr, sizeof(types::RecordLength));
+    auto vtocECCOffset = readUInt16LE(vpdPtr);
+
+    // Get the ECC length
+    std::advance(vpdPtr, sizeof(types::ECCOffset));
+    auto vtocECCLength = readUInt16LE(vpdPtr);
+
+    // Reset pointer to start of the vpd,
+    // so that Offset will point to correct address
+    vpdPtr = m_vpdVector.cbegin();
+    auto l_status = vpdecc_check_data(
+        const_cast<uint8_t*>(&m_vpdVector[vtocOffset]), vtocLength,
+        const_cast<uint8_t*>(&m_vpdVector[vtocECCOffset]), vtocECCLength);
+    if (l_status == VPD_ECC_CORRECTABLE_DATA)
+    {
+        try
+        {
+            if (m_vpdFileStream.is_open())
+            {
+                m_vpdFileStream.seekp(m_vpdStartOffset + vtocOffset,
+                                      std::ios::beg);
+                m_vpdFileStream.write(
+                    reinterpret_cast<const char*>(&m_vpdVector[vtocOffset]),
+                    vtocLength);
+            }
+            else
+            {
+                logging::logMessage("File not open");
+                return false;
+            }
+        }
+        catch (const std::fstream::failure& e)
+        {
+            logging::logMessage(
+                "Error while operating on file with exception " +
+                std::string(e.what()));
+            return false;
+        }
+    }
+    else if (l_status != VPD_ECC_OK)
+    {
+        return false;
+    }
+
+    return true;
+}
+
+bool IpzVpdParser::recordEccCheck(types::BinaryVector::const_iterator iterator)
+{
+    auto recordOffset = readUInt16LE(iterator);
+
+    std::advance(iterator, sizeof(types::RecordOffset));
+    auto recordLength = readUInt16LE(iterator);
+
+    if (recordOffset == 0 || recordLength == 0)
+    {
+        throw(DataException("Invalid record offset or length"));
+    }
+
+    std::advance(iterator, sizeof(types::RecordLength));
+    auto eccOffset = readUInt16LE(iterator);
+
+    std::advance(iterator, sizeof(types::ECCOffset));
+    auto eccLength = readUInt16LE(iterator);
+
+    if (eccLength == 0 || eccOffset == 0)
+    {
+        throw(EccException("Invalid ECC length or offset."));
+    }
+
+    auto vpdPtr = m_vpdVector.cbegin();
+
+    if (vpdecc_check_data(
+            const_cast<uint8_t*>(&vpdPtr[recordOffset]), recordLength,
+            const_cast<uint8_t*>(&vpdPtr[eccOffset]), eccLength) == VPD_ECC_OK)
+    {
+        return true;
+    }
+
+    return false;
+}
+
+void IpzVpdParser::checkHeader(types::BinaryVector::const_iterator itrToVPD)
+{
+    if (m_vpdVector.empty() || (Length::RECORD_MIN > m_vpdVector.size()))
+    {
+        throw(DataException("Malformed VPD"));
+    }
+
+    std::advance(itrToVPD, Offset::VHDR);
+    auto stop = std::next(itrToVPD, Length::RECORD_NAME);
+
+    std::string record(itrToVPD, stop);
+    if ("VHDR" != record)
+    {
+        throw(DataException("VHDR record not found"));
+    }
+
+    if (!vhdrEccCheck())
+    {
+        throw(EccException("ERROR: VHDR ECC check Failed"));
+    }
+}
+
+auto IpzVpdParser::readTOC(types::BinaryVector::const_iterator& itrToVPD)
+{
+    // The offset to VTOC could be 1 or 2 bytes long
+    uint16_t vtocOffset =
+        readUInt16LE((itrToVPD + Offset::VTOC_PTR)); // itrToVPD);
+
+    // Got the offset to VTOC, skip past record header and keyword header
+    // to get to the record name.
+    std::advance(itrToVPD, vtocOffset + sizeof(types::RecordId) +
+                               sizeof(types::RecordSize) +
+                               // Skip past the RT keyword, which contains
+                               // the record name.
+                               Length::KW_NAME + sizeof(types::KwSize));
+
+    std::string record(itrToVPD, std::next(itrToVPD, Length::RECORD_NAME));
+    if ("VTOC" != record)
+    {
+        throw(DataException("VTOC record not found"));
+    }
+
+    if (!vtocEccCheck())
+    {
+        throw(EccException("ERROR: VTOC ECC check Failed"));
+    }
+
+    // VTOC record name is good, now read through the TOC, stored in the PT
+    // PT keyword; vpdBuffer is now pointing at the first character of the
+    // name 'VTOC', jump to PT data.
+    // Skip past record name and KW name, 'PT'
+    std::advance(itrToVPD, Length::RECORD_NAME + Length::KW_NAME);
+
+    // Note size of PT
+    auto ptLen = *itrToVPD;
+
+    // Skip past PT size
+    std::advance(itrToVPD, sizeof(types::KwSize));
+
+    // length of PT keyword
+    return ptLen;
+}
+
+types::RecordOffsetList IpzVpdParser::readPT(
+    types::BinaryVector::const_iterator& itrToPT, auto ptLength)
+{
+    types::RecordOffsetList recordOffsets;
+
+    auto end = itrToPT;
+    std::advance(end, ptLength);
+
+    // Look at each entry in the PT keyword. In the entry,
+    // we care only about the record offset information.
+    while (itrToPT < end)
+    {
+        std::string recordName(itrToPT, itrToPT + Length::RECORD_NAME);
+        // Skip record name and record type
+        std::advance(itrToPT, Length::RECORD_NAME + sizeof(types::RecordType));
+
+        // Get record offset
+        recordOffsets.push_back(readUInt16LE(itrToPT));
+        try
+        {
+            // Verify the ECC for this Record
+            if (!recordEccCheck(itrToPT))
+            {
+                throw(EccException("ERROR: ECC check failed"));
+            }
+        }
+        catch (const EccException& ex)
+        {
+            logging::logMessage(ex.what());
+
+            /*TODO: uncomment when PEL code goes in */
+
+            /*std::string errMsg =
+                std::string{ex.what()} + " Record: " + recordName;
+
+            inventory::PelAdditionalData additionalData{};
+            additionalData.emplace("DESCRIPTION", errMsg);
+            additionalData.emplace("CALLOUT_INVENTORY_PATH", inventoryPath);
+            createPEL(additionalData, PelSeverity::WARNING,
+                      errIntfForEccCheckFail, nullptr);*/
+        }
+        catch (const DataException& ex)
+        {
+            logging::logMessage(ex.what());
+
+            /*TODO: uncomment when PEL code goes in */
+
+            /*std::string errMsg =
+                std::string{ex.what()} + " Record: " + recordName;
+
+            inventory::PelAdditionalData additionalData{};
+            additionalData.emplace("DESCRIPTION", errMsg);
+            additionalData.emplace("CALLOUT_INVENTORY_PATH", inventoryPath);
+            createPEL(additionalData, PelSeverity::WARNING,
+                      errIntfForInvalidVPD, nullptr);*/
+        }
+
+        // Jump record size, record length, ECC offset and ECC length
+        std::advance(itrToPT,
+                     sizeof(types::RecordOffset) + sizeof(types::RecordLength) +
+                         sizeof(types::ECCOffset) + sizeof(types::ECCLength));
+    }
+
+    return recordOffsets;
+}
+
+types::IPZVpdMap::mapped_type
+    IpzVpdParser::readKeywords(types::BinaryVector::const_iterator& itrToKwds)
+{
+    types::IPZVpdMap::mapped_type kwdValueMap{};
+    while (true)
+    {
+        // Note keyword name
+        std::string kwdName(itrToKwds, itrToKwds + Length::KW_NAME);
+        if (constants::LAST_KW == kwdName)
+        {
+            // We're done
+            break;
+        }
+        // Check if the Keyword is '#kw'
+        char kwNameStart = *itrToKwds;
+
+        // Jump past keyword name
+        std::advance(itrToKwds, Length::KW_NAME);
+
+        std::size_t kwdDataLength;
+        std::size_t lengthHighByte;
+
+        if (constants::POUND_KW == kwNameStart)
+        {
+            // Note keyword data length
+            kwdDataLength = *itrToKwds;
+            lengthHighByte = *(itrToKwds + 1);
+            kwdDataLength |= (lengthHighByte << 8);
+
+            // Jump past 2Byte keyword length
+            std::advance(itrToKwds, sizeof(types::PoundKwSize));
+        }
+        else
+        {
+            // Note keyword data length
+            kwdDataLength = *itrToKwds;
+
+            // Jump past keyword length
+            std::advance(itrToKwds, sizeof(types::KwSize));
+        }
+
+        // support all the Keywords
+        auto stop = std::next(itrToKwds, kwdDataLength);
+        std::string kwdata(itrToKwds, stop);
+        kwdValueMap.emplace(std::move(kwdName), std::move(kwdata));
+
+        // Jump past keyword data length
+        std::advance(itrToKwds, kwdDataLength);
+    }
+
+    return kwdValueMap;
+}
+
+void IpzVpdParser::processRecord(auto recordOffset)
+{
+    // Jump to record name
+    auto recordNameOffset =
+        recordOffset + sizeof(types::RecordId) + sizeof(types::RecordSize) +
+        // Skip past the RT keyword, which contains
+        // the record name.
+        Length::KW_NAME + sizeof(types::KwSize);
+
+    // Get record name
+    auto itrToVPDStart = m_vpdVector.cbegin();
+    std::advance(itrToVPDStart, recordNameOffset);
+
+    std::string recordName(itrToVPDStart, itrToVPDStart + Length::RECORD_NAME);
+
+    // proceed to find contained keywords and their values.
+    std::advance(itrToVPDStart, Length::RECORD_NAME);
+
+    // Reverse back to RT Kw, in ipz vpd, to Read RT KW & value
+    std::advance(itrToVPDStart, -(Length::KW_NAME + sizeof(types::KwSize) +
+                                  Length::RECORD_NAME));
+
+    // Add entry for this record (and contained keyword:value pairs)
+    // to the parsed vpd output.
+    m_parsedVPDMap.emplace(std::move(recordName),
+                           std::move(readKeywords(itrToVPDStart)));
+}
+
+types::VPDMapVariant IpzVpdParser::parse()
+{
+    try
+    {
+        auto itrToVPD = m_vpdVector.cbegin();
+
+        // Check vaidity of VHDR record
+        checkHeader(itrToVPD);
+
+        // Read the table of contents
+        auto ptLen = readTOC(itrToVPD);
+
+        // Read the table of contents record, to get offsets
+        // to other records.
+        auto recordOffsets = readPT(itrToVPD, ptLen);
+        for (const auto& offset : recordOffsets)
+        {
+            processRecord(offset);
+        }
+
+        return m_parsedVPDMap;
+    }
+    catch (const std::exception& e)
+    {
+        logging::logMessage(e.what());
+        throw e;
+    }
+}
+
+types::BinaryVector IpzVpdParser::getKeywordValueFromRecord(
+    const types::Record& i_recordName, const types::Keyword& i_keywordName,
+    const types::RecordOffset& i_recordDataOffset)
+{
+    auto l_iterator = m_vpdVector.cbegin();
+
+    // Go to the record name in the given record's offset
+    std::ranges::advance(l_iterator,
+                         i_recordDataOffset + Length::JUMP_TO_RECORD_NAME,
+                         m_vpdVector.cend());
+
+    // Check if the record is present in the given record's offset
+    if (i_recordName !=
+        std::string(l_iterator,
+                    std::ranges::next(l_iterator, Length::RECORD_NAME,
+                                      m_vpdVector.cend())))
+    {
+        throw std::runtime_error(
+            "Given record is not present in the offset provided");
+    }
+
+    std::ranges::advance(l_iterator, Length::RECORD_NAME, m_vpdVector.cend());
+
+    std::string l_kwName = std::string(
+        l_iterator,
+        std::ranges::next(l_iterator, Length::KW_NAME, m_vpdVector.cend()));
+
+    // Iterate through the keywords until the last keyword PF is found.
+    while (l_kwName != constants::LAST_KW)
+    {
+        // First character required for #D keyword check
+        char l_kwNameStart = *l_iterator;
+
+        std::ranges::advance(l_iterator, Length::KW_NAME, m_vpdVector.cend());
+
+        // Get the keyword's data length
+        auto l_kwdDataLength = 0;
+
+        if (constants::POUND_KW == l_kwNameStart)
+        {
+            l_kwdDataLength = readUInt16LE(l_iterator);
+            std::ranges::advance(l_iterator, sizeof(types::PoundKwSize),
+                                 m_vpdVector.cend());
+        }
+        else
+        {
+            l_kwdDataLength = *l_iterator;
+            std::ranges::advance(l_iterator, sizeof(types::KwSize),
+                                 m_vpdVector.cend());
+        }
+
+        if (l_kwName == i_keywordName)
+        {
+            // Return keyword's value to the caller
+            return types::BinaryVector(
+                l_iterator, std::ranges::next(l_iterator, l_kwdDataLength,
+                                              m_vpdVector.cend()));
+        }
+
+        // next keyword search
+        std::ranges::advance(l_iterator, l_kwdDataLength, m_vpdVector.cend());
+
+        // next keyword name
+        l_kwName = std::string(
+            l_iterator,
+            std::ranges::next(l_iterator, Length::KW_NAME, m_vpdVector.cend()));
+    }
+
+    // Keyword not found
+    throw std::runtime_error("Given keyword not found.");
+}
+
+types::RecordData IpzVpdParser::getRecordDetailsFromVTOC(
+    const types::Record& i_recordName, const types::RecordOffset& i_vtocOffset)
+{
+    // Get VTOC's PT keyword value.
+    const auto l_vtocPTKwValue =
+        getKeywordValueFromRecord("VTOC", "PT", i_vtocOffset);
+
+    // Parse through VTOC PT keyword value to find the record which we are
+    // interested in.
+    auto l_vtocPTItr = l_vtocPTKwValue.cbegin();
+
+    types::RecordData l_recordData;
+
+    while (l_vtocPTItr < l_vtocPTKwValue.cend())
+    {
+        if (i_recordName ==
+            std::string(l_vtocPTItr, l_vtocPTItr + Length::RECORD_NAME))
+        {
+            // Record found in VTOC PT keyword. Get offset
+            std::ranges::advance(l_vtocPTItr,
+                                 Length::RECORD_NAME + Length::RECORD_TYPE,
+                                 l_vtocPTKwValue.cend());
+            const auto l_recordOffset = readUInt16LE(l_vtocPTItr);
+
+            std::ranges::advance(l_vtocPTItr, Length::RECORD_OFFSET,
+                                 l_vtocPTKwValue.cend());
+            const auto l_recordLength = readUInt16LE(l_vtocPTItr);
+
+            std::ranges::advance(l_vtocPTItr, Length::RECORD_LENGTH,
+                                 l_vtocPTKwValue.cend());
+            const auto l_eccOffset = readUInt16LE(l_vtocPTItr);
+
+            std::ranges::advance(l_vtocPTItr, Length::RECORD_ECC_OFFSET,
+                                 l_vtocPTKwValue.cend());
+            const auto l_eccLength = readUInt16LE(l_vtocPTItr);
+
+            l_recordData = std::make_tuple(l_recordOffset, l_recordLength,
+                                           l_eccOffset, l_eccLength);
+            break;
+        }
+
+        std::ranges::advance(l_vtocPTItr, Length::SKIP_A_RECORD_IN_PT,
+                             l_vtocPTKwValue.cend());
+    }
+
+    return l_recordData;
+}
+
+types::DbusVariantType IpzVpdParser::readKeywordFromHardware(
+    const types::ReadVpdParams i_paramsToReadData)
+{
+    // Extract record and keyword from i_paramsToReadData
+    types::Record l_record;
+    types::Keyword l_keyword;
+
+    if (const types::IpzType* l_ipzData =
+            std::get_if<types::IpzType>(&i_paramsToReadData))
+    {
+        l_record = std::get<0>(*l_ipzData);
+        l_keyword = std::get<1>(*l_ipzData);
+    }
+    else
+    {
+        logging::logMessage(
+            "Input parameter type provided isn't compatible with the given VPD type.");
+        throw types::DbusInvalidArgument();
+    }
+
+    // Read keyword's value from vector
+    auto l_itrToVPD = m_vpdVector.cbegin();
+
+    if (l_record == "VHDR")
+    {
+// Disable providing a way to read keywords from VHDR for the time being.
+#if 0
+        std::ranges::advance(l_itrToVPD, Offset::VHDR_RECORD,
+                             m_vpdVector.cend());
+
+        return types::DbusVariantType{getKeywordValueFromRecord(
+            l_record, l_keyword, Offset::VHDR_RECORD)};
+#endif
+
+        logging::logMessage("Read cannot be performed on VHDR record.");
+        throw types::DbusInvalidArgument();
+    }
+
+    // Get VTOC offset
+    std::ranges::advance(l_itrToVPD, Offset::VTOC_PTR, m_vpdVector.cend());
+    auto l_vtocOffset = readUInt16LE(l_itrToVPD);
+
+    if (l_record == "VTOC")
+    {
+        // Disable providing a way to read keywords from VTOC for the time
+        // being.
+#if 0
+        return types::DbusVariantType{
+            getKeywordValueFromRecord(l_record, l_keyword, l_vtocOffset)};
+#endif
+
+        logging::logMessage("Read cannot be performed on VTOC record.");
+        throw types::DbusInvalidArgument();
+    }
+
+    // Get record offset from VTOC's PT keyword value.
+    auto l_recordData = getRecordDetailsFromVTOC(l_record, l_vtocOffset);
+    const auto l_recordOffset = std::get<0>(l_recordData);
+
+    if (l_recordOffset == 0)
+    {
+        throw std::runtime_error("Record not found in VTOC PT keyword.");
+    }
+
+    // Get the given keyword's value
+    return types::DbusVariantType{
+        getKeywordValueFromRecord(l_record, l_keyword, l_recordOffset)};
+}
+
+void IpzVpdParser::updateRecordECC(
+    const auto& i_recordDataOffset, const auto& i_recordDataLength,
+    const auto& i_recordECCOffset, size_t i_recordECCLength,
+    types::BinaryVector& io_vpdVector)
+{
+    auto l_recordDataBegin =
+        std::next(io_vpdVector.begin(), i_recordDataOffset);
+
+    auto l_recordECCBegin = std::next(io_vpdVector.begin(), i_recordECCOffset);
+
+    auto l_eccStatus = vpdecc_create_ecc(
+        const_cast<uint8_t*>(&l_recordDataBegin[0]), i_recordDataLength,
+        const_cast<uint8_t*>(&l_recordECCBegin[0]), &i_recordECCLength);
+
+    if (l_eccStatus != VPD_ECC_OK)
+    {
+        throw(EccException("ECC update failed with error " + l_eccStatus));
+    }
+
+    auto l_recordECCEnd = std::next(l_recordECCBegin, i_recordECCLength);
+
+    m_vpdFileStream.seekp(m_vpdStartOffset + i_recordECCOffset, std::ios::beg);
+
+    std::copy(l_recordECCBegin, l_recordECCEnd,
+              std::ostreambuf_iterator<char>(m_vpdFileStream));
+}
+
+int IpzVpdParser::setKeywordValueInRecord(
+    const types::Record& i_recordName, const types::Keyword& i_keywordName,
+    const types::BinaryVector& i_keywordData,
+    const types::RecordOffset& i_recordDataOffset,
+    types::BinaryVector& io_vpdVector)
+{
+    auto l_iterator = io_vpdVector.begin();
+
+    // Go to the record name in the given record's offset
+    std::ranges::advance(l_iterator,
+                         i_recordDataOffset + Length::JUMP_TO_RECORD_NAME,
+                         io_vpdVector.end());
+
+    const std::string l_recordFound(
+        l_iterator,
+        std::ranges::next(l_iterator, Length::RECORD_NAME, io_vpdVector.end()));
+
+    // Check if the record is present in the given record's offset
+    if (i_recordName != l_recordFound)
+    {
+        throw(DataException("Given record found at the offset " +
+                            std::to_string(i_recordDataOffset) + " is : " +
+                            l_recordFound + " and not " + i_recordName));
+    }
+
+    std::ranges::advance(l_iterator, Length::RECORD_NAME, io_vpdVector.end());
+
+    std::string l_kwName = std::string(
+        l_iterator,
+        std::ranges::next(l_iterator, Length::KW_NAME, io_vpdVector.end()));
+
+    // Iterate through the keywords until the last keyword PF is found.
+    while (l_kwName != constants::LAST_KW)
+    {
+        // First character required for #D keyword check
+        char l_kwNameStart = *l_iterator;
+
+        std::ranges::advance(l_iterator, Length::KW_NAME, io_vpdVector.end());
+
+        // Find the keyword's data length
+        size_t l_kwdDataLength = 0;
+
+        if (constants::POUND_KW == l_kwNameStart)
+        {
+            l_kwdDataLength = readUInt16LE(l_iterator);
+            std::ranges::advance(l_iterator, sizeof(types::PoundKwSize),
+                                 io_vpdVector.end());
+        }
+        else
+        {
+            l_kwdDataLength = *l_iterator;
+            std::ranges::advance(l_iterator, sizeof(types::KwSize),
+                                 io_vpdVector.end());
+        }
+
+        if (l_kwName == i_keywordName)
+        {
+            // Before writing the keyword's value, get the maximum size that can
+            // be updated.
+            const auto l_lengthToUpdate =
+                i_keywordData.size() <= l_kwdDataLength
+                    ? i_keywordData.size()
+                    : l_kwdDataLength;
+
+            // Set the keyword's value on vector. This is required to update the
+            // record's ECC based on the new value set.
+            const auto i_keywordDataEnd = std::ranges::next(
+                i_keywordData.cbegin(), l_lengthToUpdate, i_keywordData.cend());
+
+            std::copy(i_keywordData.cbegin(), i_keywordDataEnd, l_iterator);
+
+            // Set the keyword's value on hardware
+            const auto l_kwdDataOffset =
+                std::distance(io_vpdVector.begin(), l_iterator);
+            m_vpdFileStream.seekp(m_vpdStartOffset + l_kwdDataOffset,
+                                  std::ios::beg);
+
+            std::copy(i_keywordData.cbegin(), i_keywordDataEnd,
+                      std::ostreambuf_iterator<char>(m_vpdFileStream));
+
+            // return no of bytes set
+            return l_lengthToUpdate;
+        }
+
+        // next keyword search
+        std::ranges::advance(l_iterator, l_kwdDataLength, io_vpdVector.end());
+
+        // next keyword name
+        l_kwName = std::string(
+            l_iterator,
+            std::ranges::next(l_iterator, Length::KW_NAME, io_vpdVector.end()));
+    }
+
+    // Keyword not found
+    throw(DataException(
+        "Keyword " + i_keywordName + " not found in record " + i_recordName));
+}
+
+int IpzVpdParser::writeKeywordOnHardware(
+    const types::WriteVpdParams i_paramsToWriteData)
+{
+    int l_sizeWritten = -1;
+
+    try
+    {
+        types::Record l_recordName;
+        types::Keyword l_keywordName;
+        types::BinaryVector l_keywordData;
+
+        // Extract record, keyword and value from i_paramsToWriteData
+        if (const types::IpzData* l_ipzData =
+                std::get_if<types::IpzData>(&i_paramsToWriteData))
+        {
+            l_recordName = std::get<0>(*l_ipzData);
+            l_keywordName = std::get<1>(*l_ipzData);
+            l_keywordData = std::get<2>(*l_ipzData);
+        }
+        else
+        {
+            logging::logMessage(
+                "Input parameter type provided isn't compatible with the given FRU's VPD type.");
+            throw types::DbusInvalidArgument();
+        }
+
+        if (l_recordName == "VHDR" || l_recordName == "VTOC")
+        {
+            logging::logMessage(
+                "Write operation not allowed on the given record : " +
+                l_recordName);
+            throw types::DbusNotAllowed();
+        }
+
+        if (l_keywordData.size() == 0)
+        {
+            logging::logMessage(
+                "Write operation not allowed as the given keyword's data length is 0.");
+            throw types::DbusInvalidArgument();
+        }
+
+        auto l_vpdBegin = m_vpdVector.begin();
+
+        // Get VTOC offset
+        std::ranges::advance(l_vpdBegin, Offset::VTOC_PTR, m_vpdVector.end());
+        auto l_vtocOffset = readUInt16LE(l_vpdBegin);
+
+        // Get the details of user given record from VTOC
+        const types::RecordData& l_inputRecordDetails =
+            getRecordDetailsFromVTOC(l_recordName, l_vtocOffset);
+
+        const auto& l_inputRecordOffset = std::get<0>(l_inputRecordDetails);
+
+        if (l_inputRecordOffset == 0)
+        {
+            throw(DataException("Record not found in VTOC PT keyword."));
+        }
+
+        // Create a local copy of m_vpdVector to perform keyword update and ecc
+        // update on filestream.
+        types::BinaryVector l_vpdVector = m_vpdVector;
+
+        // write keyword's value on hardware
+        l_sizeWritten =
+            setKeywordValueInRecord(l_recordName, l_keywordName, l_keywordData,
+                                    l_inputRecordOffset, l_vpdVector);
+
+        if (l_sizeWritten <= 0)
+        {
+            throw(DataException("Unable to set value on " + l_recordName + ":" +
+                                l_keywordName));
+        }
+
+        // Update the record's ECC
+        updateRecordECC(l_inputRecordOffset, std::get<1>(l_inputRecordDetails),
+                        std::get<2>(l_inputRecordDetails),
+                        std::get<3>(l_inputRecordDetails), l_vpdVector);
+
+        logging::logMessage(std::to_string(l_sizeWritten) +
+                            " bytes updated successfully on hardware for " +
+                            l_recordName + ":" + l_keywordName);
+    }
+    catch (const std::exception& l_exception)
+    {
+        throw;
+    }
+
+    return l_sizeWritten;
+}
+} // namespace vpd
diff --git a/vpd-manager/src/isdimm_parser.cpp b/vpd-manager/src/isdimm_parser.cpp
new file mode 100644
index 0000000..76e1dea
--- /dev/null
+++ b/vpd-manager/src/isdimm_parser.cpp
@@ -0,0 +1,313 @@
+#include "isdimm_parser.hpp"
+
+#include "constants.hpp"
+#include "logger.hpp"
+
+#include <algorithm>
+#include <iostream>
+#include <numeric>
+#include <optional>
+#include <string>
+#include <unordered_map>
+
+namespace vpd
+{
+
+// Constants
+constexpr auto SPD_JEDEC_DDR4_SDRAM_CAP_MASK = 0x0F;
+constexpr auto SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MASK = 0x07;
+constexpr auto SPD_JEDEC_DDR4_SDRAM_WIDTH_MASK = 0x07;
+constexpr auto SPD_JEDEC_DDR4_NUM_RANKS_MASK = 0x38;
+constexpr auto SPD_JEDEC_DDR4_DIE_COUNT_MASK = 0x70;
+constexpr auto SPD_JEDEC_DDR4_SINGLE_LOAD_STACK = 0x02;
+constexpr auto SPD_JEDEC_DDR4_SIGNAL_LOADING_MASK = 0x03;
+
+constexpr auto SPD_JEDEC_DDR4_SDRAMCAP_MULTIPLIER = 256;
+constexpr auto SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MULTIPLIER = 8;
+constexpr auto SPD_JEDEC_DDR4_SDRAM_WIDTH_MULTIPLIER = 4;
+constexpr auto SPD_JEDEC_DDR4_SDRAMCAP_RESERVED = 8;
+constexpr auto SPD_JEDEC_DDR4_4_RESERVED_BITS = 4;
+constexpr auto SPD_JEDEC_DDR4_3_RESERVED_BITS = 3;
+constexpr auto SPD_JEDEC_DDR4_DIE_COUNT_RIGHT_SHIFT = 4;
+
+constexpr auto SPD_JEDEC_DDR4_MFG_ID_MSB_OFFSET = 321;
+constexpr auto SPD_JEDEC_DDR4_MFG_ID_LSB_OFFSET = 320;
+constexpr auto SPD_JEDEC_DDR4_SN_BYTE0_OFFSET = 325;
+constexpr auto SPD_JEDEC_DDR4_SN_BYTE1_OFFSET = 326;
+constexpr auto SPD_JEDEC_DDR4_SN_BYTE2_OFFSET = 327;
+constexpr auto SPD_JEDEC_DDR4_SN_BYTE3_OFFSET = 328;
+constexpr auto SPD_JEDEC_DDR4_SDRAM_DENSITY_BANK_OFFSET = 4;
+constexpr auto SPD_JEDEC_DDR4_SDRAM_ADDR_OFFSET = 5;
+constexpr auto SPD_JEDEC_DDR4_DRAM_PRI_PACKAGE_OFFSET = 6;
+constexpr auto SPD_JEDEC_DDR4_DRAM_MODULE_ORG_OFFSET = 12;
+
+// Lookup tables
+const std::map<std::tuple<std::string, uint8_t>, std::string> pnFreqFnMap = {
+    {std::make_tuple("8421000", 6), "78P4191"},
+    {std::make_tuple("8421008", 6), "78P4192"},
+    {std::make_tuple("8529000", 6), "78P4197"},
+    {std::make_tuple("8529008", 6), "78P4198"},
+    {std::make_tuple("8529928", 6), "78P4199"},
+    {std::make_tuple("8529B28", 6), "78P4200"},
+    {std::make_tuple("8631928", 6), "78P6925"},
+    {std::make_tuple("8529000", 5), "78P7317"},
+    {std::make_tuple("8529008", 5), "78P7318"},
+    {std::make_tuple("8631008", 5), "78P6815"}};
+
+const std::unordered_map<std::string, std::string> pnCCINMap = {
+    {"78P4191", "324D"}, {"78P4192", "324E"}, {"78P4197", "324E"},
+    {"78P4198", "324F"}, {"78P4199", "325A"}, {"78P4200", "324C"},
+    {"78P6925", "32BC"}, {"78P7317", "331A"}, {"78P7318", "331F"},
+    {"78P6815", "32BB"}};
+
+auto JedecSpdParser::getDDR4DimmCapacity(
+    types::BinaryVector::const_iterator& i_iterator)
+{
+    size_t l_tmp = 0, l_dimmSize = 0;
+
+    size_t l_sdramCap = 1, l_priBusWid = 1, l_sdramWid = 1,
+           l_logicalRanksPerDimm = 1;
+    size_t l_dieCount = 1;
+
+    // NOTE: This calculation is Only for DDR4
+
+    // Calculate SDRAM  capacity
+    l_tmp = i_iterator[constants::SPD_BYTE_4] & SPD_JEDEC_DDR4_SDRAM_CAP_MASK;
+
+    /* Make sure the bits are not Reserved */
+    if (l_tmp >= SPD_JEDEC_DDR4_SDRAMCAP_RESERVED)
+    {
+        logging::logMessage(
+            "Bad data in spd byte 4. Can't calculate SDRAM capacity "
+            "and so dimm size.\n ");
+        return l_dimmSize;
+    }
+    l_sdramCap = (l_sdramCap << l_tmp) * SPD_JEDEC_DDR4_SDRAMCAP_MULTIPLIER;
+
+    /* Calculate Primary bus width */
+    l_tmp = i_iterator[constants::SPD_BYTE_13] &
+            SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MASK;
+    if (l_tmp >= SPD_JEDEC_DDR4_4_RESERVED_BITS)
+    {
+        logging::logMessage(
+            "Bad data in spd byte 13. Can't calculate primary bus "
+            "width and so dimm size.\n ");
+        return l_dimmSize;
+    }
+    l_priBusWid = (l_priBusWid << l_tmp) *
+                  SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MULTIPLIER;
+
+    /* Calculate SDRAM width */
+    l_tmp = i_iterator[constants::SPD_BYTE_12] &
+            SPD_JEDEC_DDR4_SDRAM_WIDTH_MASK;
+    if (l_tmp >= SPD_JEDEC_DDR4_4_RESERVED_BITS)
+    {
+        logging::logMessage(
+            "Bad data in spd byte 12. Can't calculate SDRAM width and "
+            "so dimm size.\n ");
+        return l_dimmSize;
+    }
+    l_sdramWid = (l_sdramWid << l_tmp) * SPD_JEDEC_DDR4_SDRAM_WIDTH_MULTIPLIER;
+
+    l_tmp = i_iterator[constants::SPD_BYTE_6] &
+            SPD_JEDEC_DDR4_SIGNAL_LOADING_MASK;
+    if (l_tmp == SPD_JEDEC_DDR4_SINGLE_LOAD_STACK)
+    {
+        // Fetch die count
+        l_tmp = i_iterator[constants::SPD_BYTE_6] &
+                SPD_JEDEC_DDR4_DIE_COUNT_MASK;
+        l_tmp >>= SPD_JEDEC_DDR4_DIE_COUNT_RIGHT_SHIFT;
+        l_dieCount = l_tmp + 1;
+    }
+
+    /* Calculate Number of ranks */
+    l_tmp = i_iterator[constants::SPD_BYTE_12] & SPD_JEDEC_DDR4_NUM_RANKS_MASK;
+    l_tmp >>= SPD_JEDEC_DDR4_3_RESERVED_BITS;
+
+    if (l_tmp >= SPD_JEDEC_DDR4_4_RESERVED_BITS)
+    {
+        logging::logMessage(
+            "Can't calculate number of ranks. Invalid data found.\n ");
+        return l_dimmSize;
+    }
+    l_logicalRanksPerDimm = (l_tmp + 1) * l_dieCount;
+
+    l_dimmSize = (l_sdramCap / SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MULTIPLIER) *
+                 (l_priBusWid / l_sdramWid) * l_logicalRanksPerDimm;
+
+    return l_dimmSize;
+}
+
+std::string_view JedecSpdParser::getDDR4PartNumber(
+    types::BinaryVector::const_iterator& i_iterator)
+{
+    char l_tmpPN[constants::PART_NUM_LEN + 1] = {'\0'};
+    sprintf(l_tmpPN, "%02X%02X%02X%X",
+            i_iterator[SPD_JEDEC_DDR4_SDRAM_DENSITY_BANK_OFFSET],
+            i_iterator[SPD_JEDEC_DDR4_SDRAM_ADDR_OFFSET],
+            i_iterator[SPD_JEDEC_DDR4_DRAM_PRI_PACKAGE_OFFSET],
+            i_iterator[SPD_JEDEC_DDR4_DRAM_MODULE_ORG_OFFSET] & 0x0F);
+    std::string l_partNumber(l_tmpPN, sizeof(l_tmpPN) - 1);
+    return l_partNumber;
+}
+
+std::string JedecSpdParser::getDDR4SerialNumber(
+    types::BinaryVector::const_iterator& i_iterator)
+{
+    char l_tmpSN[constants::SERIAL_NUM_LEN + 1] = {'\0'};
+    sprintf(l_tmpSN, "%02X%02X%02X%02X%02X%02X",
+            i_iterator[SPD_JEDEC_DDR4_MFG_ID_MSB_OFFSET],
+            i_iterator[SPD_JEDEC_DDR4_MFG_ID_LSB_OFFSET],
+            i_iterator[SPD_JEDEC_DDR4_SN_BYTE0_OFFSET],
+            i_iterator[SPD_JEDEC_DDR4_SN_BYTE1_OFFSET],
+            i_iterator[SPD_JEDEC_DDR4_SN_BYTE2_OFFSET],
+            i_iterator[SPD_JEDEC_DDR4_SN_BYTE3_OFFSET]);
+    std::string l_serialNumber(l_tmpSN, sizeof(l_tmpSN) - 1);
+    return l_serialNumber;
+}
+
+std::string_view JedecSpdParser::getDDR4FruNumber(
+    const std::string& i_partNumber,
+    types::BinaryVector::const_iterator& i_iterator)
+{
+    // check for 128GB ISRDIMM not implemented
+    //(128GB 2RX4(8GX72) IS RDIMM 36*(16GBIT, 2H),1.2V 288PIN,1.2" ROHS) - NA
+
+    // MTB Units is used in deciding the frequency of the DIMM
+    // This is applicable only for DDR4 specification
+    // 10 - DDR4-1600
+    // 9  - DDR4-1866
+    // 8  - DDR4-2133
+    // 7  - DDR4-2400
+    // 6  - DDR4-2666
+    // 5  - DDR4-3200
+    // pnFreqFnMap < tuple <partNumber, MTBUnits>, fruNumber>
+    uint8_t l_mtbUnits = i_iterator[constants::SPD_BYTE_18] &
+                         constants::SPD_BYTE_MASK;
+    std::string l_fruNumber = "FFFFFFF";
+    auto it = pnFreqFnMap.find({i_partNumber, l_mtbUnits});
+    if (it != pnFreqFnMap.end())
+    {
+        l_fruNumber = it->second;
+    }
+
+    return l_fruNumber;
+}
+
+std::string_view JedecSpdParser::getDDR4CCIN(const std::string& i_fruNumber)
+{
+    auto it = pnCCINMap.find(i_fruNumber);
+    if (it != pnCCINMap.end())
+    {
+        return it->second;
+    }
+    return "XXXX"; // Return default value as XXXX
+}
+
+auto JedecSpdParser::getDDR5DimmCapacity(
+    types::BinaryVector::const_iterator& i_iterator)
+{
+    // dummy implementation to be updated when required
+    size_t dimmSize = 0;
+    (void)i_iterator;
+    return dimmSize;
+}
+
+auto JedecSpdParser::getDDR5PartNumber(
+    types::BinaryVector::const_iterator& i_iterator)
+{
+    // dummy implementation to be updated when required
+    std::string l_partNumber;
+    (void)i_iterator;
+    l_partNumber = "0123456";
+    return l_partNumber;
+}
+
+auto JedecSpdParser::getDDR5SerialNumber(
+    types::BinaryVector::const_iterator& i_iterator)
+{
+    // dummy implementation to be updated when required
+    std::string l_serialNumber;
+    (void)i_iterator;
+    l_serialNumber = "444444444444";
+    return l_serialNumber;
+}
+
+auto JedecSpdParser::getDDR5FruNumber(const std::string& i_partNumber)
+{
+    // dummy implementation to be updated when required
+    static std::unordered_map<std::string, std::string> pnFruMap = {
+        {"1234567", "XXXXXXX"}};
+
+    std::string l_fruNumber;
+    auto itr = pnFruMap.find(i_partNumber);
+    if (itr != pnFruMap.end())
+    {
+        l_fruNumber = itr->second;
+    }
+    else
+    {
+        l_fruNumber = "FFFFFFF";
+    }
+    return l_fruNumber;
+}
+
+auto JedecSpdParser::getDDR5CCIN(const std::string& i_partNumber)
+{
+    // dummy implementation to be updated when required
+    static std::unordered_map<std::string, std::string> pnCCINMap = {
+        {"1234567", "XXXX"}};
+
+    std::string ccin = "XXXX";
+    auto itr = pnCCINMap.find(i_partNumber);
+    if (itr != pnCCINMap.end())
+    {
+        ccin = itr->second;
+    }
+    return ccin;
+}
+
+types::JedecSpdMap JedecSpdParser::readKeywords(
+    types::BinaryVector::const_iterator& i_iterator)
+{
+    types::JedecSpdMap l_keywordValueMap{};
+    size_t dimmSize = getDDR4DimmCapacity(i_iterator);
+    if (!dimmSize)
+    {
+        logging::logMessage("Error: Calculated dimm size is 0.");
+    }
+    else
+    {
+        l_keywordValueMap.emplace("MemorySizeInKB",
+                                  dimmSize * constants::CONVERT_MB_TO_KB);
+    }
+
+    auto l_partNumber = getDDR4PartNumber(i_iterator);
+    auto l_fruNumber = getDDR4FruNumber(
+        std::string(l_partNumber.begin(), l_partNumber.end()), i_iterator);
+    auto l_serialNumber = getDDR4SerialNumber(i_iterator);
+    auto ccin =
+        getDDR4CCIN(std::string(l_fruNumber.begin(), l_fruNumber.end()));
+    // PN value is made same as FN value
+    auto l_displayPartNumber = l_fruNumber;
+    l_keywordValueMap.emplace("PN",
+                              move(std::string(l_displayPartNumber.begin(),
+                                               l_displayPartNumber.end())));
+    l_keywordValueMap.emplace(
+        "FN", move(std::string(l_fruNumber.begin(), l_fruNumber.end())));
+    l_keywordValueMap.emplace("SN", move(l_serialNumber));
+    l_keywordValueMap.emplace("CC",
+                              move(std::string(ccin.begin(), ccin.end())));
+
+    return l_keywordValueMap;
+}
+
+types::VPDMapVariant JedecSpdParser::parse()
+{
+    // Read the data and return the map
+    auto l_iterator = m_memSpd.cbegin();
+    auto l_spdDataMap = readKeywords(l_iterator);
+    return l_spdDataMap;
+}
+
+} // namespace vpd
diff --git a/vpd-manager/src/keyword_vpd_parser.cpp b/vpd-manager/src/keyword_vpd_parser.cpp
new file mode 100644
index 0000000..9997f94
--- /dev/null
+++ b/vpd-manager/src/keyword_vpd_parser.cpp
@@ -0,0 +1,136 @@
+#include "keyword_vpd_parser.hpp"
+
+#include "constants.hpp"
+#include "exceptions.hpp"
+#include "logger.hpp"
+
+#include <iostream>
+#include <numeric>
+#include <string>
+
+namespace vpd
+{
+
+types::VPDMapVariant KeywordVpdParser::parse()
+{
+    if (m_keywordVpdVector.empty())
+    {
+        throw(DataException("Vector for Keyword format VPD is empty"));
+    }
+    m_vpdIterator = m_keywordVpdVector.begin();
+
+    if (*m_vpdIterator != constants::KW_VPD_START_TAG)
+    {
+        throw(DataException("Invalid Large resource type Identifier String"));
+    }
+
+    checkNextBytesValidity(sizeof(constants::KW_VPD_START_TAG));
+    std::advance(m_vpdIterator, sizeof(constants::KW_VPD_START_TAG));
+
+    uint16_t l_dataSize = getKwDataSize();
+
+    checkNextBytesValidity(constants::TWO_BYTES + l_dataSize);
+    std::advance(m_vpdIterator, constants::TWO_BYTES + l_dataSize);
+
+    // Check for invalid vendor defined large resource type
+    if (*m_vpdIterator != constants::KW_VPD_PAIR_START_TAG)
+    {
+        if (*m_vpdIterator != constants::ALT_KW_VPD_PAIR_START_TAG)
+        {
+            throw(DataException("Invalid Keyword Vpd Start Tag"));
+        }
+    }
+    types::BinaryVector::const_iterator l_checkSumStart = m_vpdIterator;
+    auto l_kwValMap = populateVpdMap();
+
+    // Do these validations before returning parsed data.
+    // Check for small resource type end tag
+    if (*m_vpdIterator != constants::KW_VAL_PAIR_END_TAG)
+    {
+        throw(DataException("Invalid Small resource type End"));
+    }
+
+    types::BinaryVector::const_iterator l_checkSumEnd = m_vpdIterator;
+    validateChecksum(l_checkSumStart, l_checkSumEnd);
+
+    checkNextBytesValidity(constants::TWO_BYTES);
+    std::advance(m_vpdIterator, constants::TWO_BYTES);
+
+    // Check VPD end Tag.
+    if (*m_vpdIterator != constants::KW_VPD_END_TAG)
+    {
+        throw(DataException("Invalid Small resource type."));
+    }
+
+    return l_kwValMap;
+}
+
+types::KeywordVpdMap KeywordVpdParser::populateVpdMap()
+{
+    checkNextBytesValidity(constants::ONE_BYTE);
+    std::advance(m_vpdIterator, constants::ONE_BYTE);
+
+    auto l_totalSize = getKwDataSize();
+    if (l_totalSize == 0)
+    {
+        throw(DataException("Data size is 0, badly formed keyword VPD"));
+    }
+
+    checkNextBytesValidity(constants::TWO_BYTES);
+    std::advance(m_vpdIterator, constants::TWO_BYTES);
+
+    types::KeywordVpdMap l_kwValMap;
+
+    // Parse the keyword-value and store the pairs in map
+    while (l_totalSize > 0)
+    {
+        checkNextBytesValidity(constants::TWO_BYTES);
+        std::string l_keywordName(m_vpdIterator,
+                                  m_vpdIterator + constants::TWO_BYTES);
+        std::advance(m_vpdIterator, constants::TWO_BYTES);
+
+        size_t l_kwSize = *m_vpdIterator;
+        checkNextBytesValidity(constants::ONE_BYTE + l_kwSize);
+        m_vpdIterator++;
+        std::vector<uint8_t> l_valueBytes(m_vpdIterator,
+                                          m_vpdIterator + l_kwSize);
+        std::advance(m_vpdIterator, l_kwSize);
+
+        l_kwValMap.emplace(
+            std::make_pair(std::move(l_keywordName), std::move(l_valueBytes)));
+
+        l_totalSize -= constants::TWO_BYTES + constants::ONE_BYTE + l_kwSize;
+    }
+
+    return l_kwValMap;
+}
+
+void KeywordVpdParser::validateChecksum(
+    types::BinaryVector::const_iterator i_checkSumStart,
+    types::BinaryVector::const_iterator i_checkSumEnd)
+{
+    uint8_t l_checkSumCalculated = 0;
+
+    // Checksum calculation
+    l_checkSumCalculated =
+        std::accumulate(i_checkSumStart, i_checkSumEnd, l_checkSumCalculated);
+    l_checkSumCalculated = ~l_checkSumCalculated + 1;
+    uint8_t l_checksumVpdValue = *(m_vpdIterator + constants::ONE_BYTE);
+
+    if (l_checkSumCalculated != l_checksumVpdValue)
+    {
+        throw(DataException("Invalid Checksum"));
+    }
+}
+
+void KeywordVpdParser::checkNextBytesValidity(uint8_t i_numberOfBytes)
+{
+    if ((std::distance(m_keywordVpdVector.begin(),
+                       m_vpdIterator + i_numberOfBytes)) >
+        std::distance(m_keywordVpdVector.begin(), m_keywordVpdVector.end()))
+    {
+        throw(DataException("Truncated VPD data"));
+    }
+}
+
+} // namespace vpd
diff --git a/vpd-manager/src/logger.cpp b/vpd-manager/src/logger.cpp
new file mode 100644
index 0000000..19959a1
--- /dev/null
+++ b/vpd-manager/src/logger.cpp
@@ -0,0 +1,23 @@
+#include "logger.hpp"
+
+#include <sstream>
+
+namespace vpd
+{
+namespace logging
+{
+void logMessage(std::string_view message, const std::source_location& location)
+{
+    std::ostringstream log;
+    log << "FileName: " << location.file_name() << ","
+        << " Line: " << location.line() << " " << message;
+
+    /* TODO: Check on this later.
+    log << "FileName: " << location.file_name() << ","
+        << " Line: " << location.line() << ","
+        << " Func: " << location.function_name() << ", " << message;*/
+
+    std::cout << log.str() << std::endl;
+}
+} // namespace logging
+} // namespace vpd
diff --git a/vpd-manager/src/manager.cpp b/vpd-manager/src/manager.cpp
new file mode 100644
index 0000000..51eb4af
--- /dev/null
+++ b/vpd-manager/src/manager.cpp
@@ -0,0 +1,915 @@
+#include "config.h"
+
+#include "manager.hpp"
+
+#include "backup_restore.hpp"
+#include "constants.hpp"
+#include "exceptions.hpp"
+#include "logger.hpp"
+#include "parser.hpp"
+#include "parser_factory.hpp"
+#include "parser_interface.hpp"
+#include "types.hpp"
+#include "utility/dbus_utility.hpp"
+#include "utility/json_utility.hpp"
+#include "utility/vpd_specific_utility.hpp"
+
+#include <boost/asio/steady_timer.hpp>
+#include <sdbusplus/bus/match.hpp>
+#include <sdbusplus/message.hpp>
+
+namespace vpd
+{
+Manager::Manager(
+    const std::shared_ptr<boost::asio::io_context>& ioCon,
+    const std::shared_ptr<sdbusplus::asio::dbus_interface>& iFace,
+    const std::shared_ptr<sdbusplus::asio::connection>& asioConnection) :
+    m_ioContext(ioCon), m_interface(iFace), m_asioConnection(asioConnection)
+{
+    try
+    {
+#ifdef IBM_SYSTEM
+        m_worker = std::make_shared<Worker>(INVENTORY_JSON_DEFAULT);
+
+        // Set up minimal things that is needed before bus name is claimed.
+        m_worker->performInitialSetup();
+
+        // set callback to detect any asset tag change
+        registerAssetTagChangeCallback();
+
+        // set async timer to detect if system VPD is published on D-Bus.
+        SetTimerToDetectSVPDOnDbus();
+
+        // set async timer to detect if VPD collection is done.
+        SetTimerToDetectVpdCollectionStatus();
+
+        // Instantiate GpioMonitor class
+        m_gpioMonitor = std::make_shared<GpioMonitor>(
+            m_worker->getSysCfgJsonObj(), m_worker, m_ioContext);
+
+#endif
+        // set callback to detect host state change.
+        registerHostStateChangeCallback();
+
+        // For backward compatibility. Should be depricated.
+        iFace->register_method(
+            "WriteKeyword",
+            [this](const sdbusplus::message::object_path i_path,
+                   const std::string i_recordName, const std::string i_keyword,
+                   const types::BinaryVector i_value) -> int {
+                return this->updateKeyword(
+                    i_path, std::make_tuple(i_recordName, i_keyword, i_value));
+            });
+
+        // Register methods under com.ibm.VPD.Manager interface
+        iFace->register_method(
+            "UpdateKeyword",
+            [this](const types::Path i_vpdPath,
+                   const types::WriteVpdParams i_paramsToWriteData) -> int {
+                return this->updateKeyword(i_vpdPath, i_paramsToWriteData);
+            });
+
+        iFace->register_method(
+            "WriteKeywordOnHardware",
+            [this](const types::Path i_fruPath,
+                   const types::WriteVpdParams i_paramsToWriteData) -> int {
+                return this->updateKeywordOnHardware(i_fruPath,
+                                                     i_paramsToWriteData);
+            });
+
+        iFace->register_method(
+            "ReadKeyword",
+            [this](const types::Path i_fruPath,
+                   const types::ReadVpdParams i_paramsToReadData)
+                -> types::DbusVariantType {
+                return this->readKeyword(i_fruPath, i_paramsToReadData);
+            });
+
+        iFace->register_method(
+            "CollectFRUVPD",
+            [this](const sdbusplus::message::object_path& i_dbusObjPath) {
+                this->collectSingleFruVpd(i_dbusObjPath);
+            });
+
+        iFace->register_method(
+            "deleteFRUVPD",
+            [this](const sdbusplus::message::object_path& i_dbusObjPath) {
+                this->deleteSingleFruVpd(i_dbusObjPath);
+            });
+
+        iFace->register_method(
+            "GetExpandedLocationCode",
+            [this](const std::string& i_unexpandedLocationCode,
+                   uint16_t& i_nodeNumber) -> std::string {
+                return this->getExpandedLocationCode(i_unexpandedLocationCode,
+                                                     i_nodeNumber);
+            });
+
+        iFace->register_method("GetFRUsByExpandedLocationCode",
+                               [this](const std::string& i_expandedLocationCode)
+                                   -> types::ListOfPaths {
+                                   return this->getFrusByExpandedLocationCode(
+                                       i_expandedLocationCode);
+                               });
+
+        iFace->register_method(
+            "GetFRUsByUnexpandedLocationCode",
+            [this](const std::string& i_unexpandedLocationCode,
+                   uint16_t& i_nodeNumber) -> types::ListOfPaths {
+                return this->getFrusByUnexpandedLocationCode(
+                    i_unexpandedLocationCode, i_nodeNumber);
+            });
+
+        iFace->register_method(
+            "GetHardwarePath",
+            [this](const sdbusplus::message::object_path& i_dbusObjPath)
+                -> std::string { return this->getHwPath(i_dbusObjPath); });
+
+        iFace->register_method("PerformVPDRecollection", [this]() {
+            this->performVpdRecollection();
+        });
+
+        // Indicates FRU VPD collection for the system has not started.
+        iFace->register_property_rw<std::string>(
+            "CollectionStatus", sdbusplus::vtable::property_::emits_change,
+            [this](const std::string l_currStatus, const auto&) {
+                m_vpdCollectionStatus = l_currStatus;
+                return 0;
+            },
+            [this](const auto&) { return m_vpdCollectionStatus; });
+    }
+    catch (const std::exception& e)
+    {
+        logging::logMessage(
+            "VPD-Manager service failed. " + std::string(e.what()));
+        throw;
+    }
+}
+
+#ifdef IBM_SYSTEM
+void Manager::registerAssetTagChangeCallback()
+{
+    static std::shared_ptr<sdbusplus::bus::match_t> l_assetMatch =
+        std::make_shared<sdbusplus::bus::match_t>(
+            *m_asioConnection,
+            sdbusplus::bus::match::rules::propertiesChanged(
+                constants::systemInvPath, constants::assetTagInf),
+            [this](sdbusplus::message_t& l_msg) {
+                processAssetTagChangeCallback(l_msg);
+            });
+}
+
+void Manager::processAssetTagChangeCallback(sdbusplus::message_t& i_msg)
+{
+    try
+    {
+        if (i_msg.is_method_error())
+        {
+            throw std::runtime_error(
+                "Error reading callback msg for asset tag.");
+        }
+
+        std::string l_objectPath;
+        types::PropertyMap l_propMap;
+        i_msg.read(l_objectPath, l_propMap);
+
+        const auto& l_itrToAssetTag = l_propMap.find("AssetTag");
+        if (l_itrToAssetTag != l_propMap.end())
+        {
+            if (auto l_assetTag =
+                    std::get_if<std::string>(&(l_itrToAssetTag->second)))
+            {
+                // Call Notify to persist the AssetTag
+                types::ObjectMap l_objectMap = {
+                    {sdbusplus::message::object_path(constants::systemInvPath),
+                     {{constants::assetTagInf, {{"AssetTag", *l_assetTag}}}}}};
+
+                // Notify PIM
+                if (!dbusUtility::callPIM(move(l_objectMap)))
+                {
+                    throw std::runtime_error(
+                        "Call to PIM failed for asset tag update.");
+                }
+            }
+        }
+        else
+        {
+            throw std::runtime_error(
+                "Could not find asset tag in callback message.");
+        }
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Log PEL with below description.
+        logging::logMessage("Asset tag callback update failed with error: " +
+                            std::string(l_ex.what()));
+    }
+}
+
+void Manager::SetTimerToDetectSVPDOnDbus()
+{
+    static boost::asio::steady_timer timer(*m_ioContext);
+
+    // timer for 2 seconds
+    auto asyncCancelled = timer.expires_after(std::chrono::seconds(2));
+
+    (asyncCancelled == 0) ? logging::logMessage("Timer started")
+                          : logging::logMessage("Timer re-started");
+
+    timer.async_wait([this](const boost::system::error_code& ec) {
+        if (ec == boost::asio::error::operation_aborted)
+        {
+            throw std::runtime_error(
+                "Timer to detect system VPD collection status was aborted");
+        }
+
+        if (ec)
+        {
+            throw std::runtime_error(
+                "Timer to detect System VPD collection failed");
+        }
+
+        if (m_worker->isSystemVPDOnDBus())
+        {
+            // cancel the timer
+            timer.cancel();
+
+            // Triggering FRU VPD collection. Setting status to "In
+            // Progress".
+            m_interface->set_property("CollectionStatus",
+                                      std::string("InProgress"));
+            m_worker->collectFrusFromJson();
+        }
+    });
+}
+
+void Manager::SetTimerToDetectVpdCollectionStatus()
+{
+    // Keeping max retry for 2 minutes. TODO: Make it cinfigurable based on
+    // system type.
+    static constexpr auto MAX_RETRY = 40;
+
+    static boost::asio::steady_timer l_timer(*m_ioContext);
+    static uint8_t l_timerRetry = 0;
+
+    auto l_asyncCancelled = l_timer.expires_after(std::chrono::seconds(3));
+
+    (l_asyncCancelled == 0)
+        ? logging::logMessage("Collection Timer started")
+        : logging::logMessage("Collection Timer re-started");
+
+    l_timer.async_wait([this](const boost::system::error_code& ec) {
+        if (ec == boost::asio::error::operation_aborted)
+        {
+            throw std::runtime_error(
+                "Timer to detect thread collection status was aborted");
+        }
+
+        if (ec)
+        {
+            throw std::runtime_error(
+                "Timer to detect thread collection failed");
+        }
+
+        if (m_worker->isAllFruCollectionDone())
+        {
+            // cancel the timer
+            l_timer.cancel();
+            m_interface->set_property("CollectionStatus",
+                                      std::string("Completed"));
+
+            const nlohmann::json& l_sysCfgJsonObj =
+                m_worker->getSysCfgJsonObj();
+            if (jsonUtility::isBackupAndRestoreRequired(l_sysCfgJsonObj))
+            {
+                BackupAndRestore l_backupAndRestoreObj(l_sysCfgJsonObj);
+                l_backupAndRestoreObj.backupAndRestore();
+            }
+        }
+        else
+        {
+            auto l_threadCount = m_worker->getActiveThreadCount();
+            if (l_timerRetry == MAX_RETRY)
+            {
+                l_timer.cancel();
+                logging::logMessage("Taking too long. Active thread = " +
+                                    std::to_string(l_threadCount));
+            }
+            else
+            {
+                l_timerRetry++;
+                logging::logMessage("Waiting... active thread = " +
+                                    std::to_string(l_threadCount) + "After " +
+                                    std::to_string(l_timerRetry) + " re-tries");
+
+                SetTimerToDetectVpdCollectionStatus();
+            }
+        }
+    });
+}
+#endif
+
+int Manager::updateKeyword(const types::Path i_vpdPath,
+                           const types::WriteVpdParams i_paramsToWriteData)
+{
+    if (i_vpdPath.empty())
+    {
+        logging::logMessage("Given VPD path is empty.");
+        return -1;
+    }
+
+    types::Path l_fruPath;
+    nlohmann::json l_sysCfgJsonObj{};
+
+    if (m_worker.get() != nullptr)
+    {
+        l_sysCfgJsonObj = m_worker->getSysCfgJsonObj();
+
+        // Get the EEPROM path
+        if (!l_sysCfgJsonObj.empty())
+        {
+            try
+            {
+                l_fruPath =
+                    jsonUtility::getFruPathFromJson(l_sysCfgJsonObj, i_vpdPath);
+            }
+            catch (const std::exception& l_exception)
+            {
+                logging::logMessage(
+                    "Error while getting FRU path, Path: " + i_vpdPath +
+                    ", error: " + std::string(l_exception.what()));
+                return -1;
+            }
+        }
+    }
+
+    if (l_fruPath.empty())
+    {
+        l_fruPath = i_vpdPath;
+    }
+
+    try
+    {
+        std::shared_ptr<Parser> l_parserObj =
+            std::make_shared<Parser>(l_fruPath, l_sysCfgJsonObj);
+        return l_parserObj->updateVpdKeyword(i_paramsToWriteData);
+    }
+    catch (const std::exception& l_exception)
+    {
+        // TODO:: error log needed
+        logging::logMessage("Update keyword failed for file[" + i_vpdPath +
+                            "], reason: " + std::string(l_exception.what()));
+        return -1;
+    }
+}
+
+int Manager::updateKeywordOnHardware(
+    const types::Path i_fruPath,
+    const types::WriteVpdParams i_paramsToWriteData) noexcept
+{
+    try
+    {
+        if (i_fruPath.empty())
+        {
+            throw std::runtime_error("Given FRU path is empty");
+        }
+
+        nlohmann::json l_sysCfgJsonObj{};
+
+        if (m_worker.get() != nullptr)
+        {
+            l_sysCfgJsonObj = m_worker->getSysCfgJsonObj();
+        }
+
+        std::shared_ptr<Parser> l_parserObj =
+            std::make_shared<Parser>(i_fruPath, l_sysCfgJsonObj);
+        return l_parserObj->updateVpdKeywordOnHardware(i_paramsToWriteData);
+    }
+    catch (const std::exception& l_exception)
+    {
+        EventLogger::createAsyncPel(
+            types::ErrorType::InvalidEeprom, types::SeverityType::Informational,
+            __FILE__, __FUNCTION__, 0,
+            "Update keyword on hardware failed for file[" + i_fruPath +
+                "], reason: " + std::string(l_exception.what()),
+            std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+
+        return constants::FAILURE;
+    }
+}
+
+types::DbusVariantType Manager::readKeyword(
+    const types::Path i_fruPath, const types::ReadVpdParams i_paramsToReadData)
+{
+    try
+    {
+        nlohmann::json l_jsonObj{};
+
+        if (m_worker.get() != nullptr)
+        {
+            l_jsonObj = m_worker->getSysCfgJsonObj();
+        }
+
+        std::error_code ec;
+
+        // Check if given path is filesystem path
+        if (!std::filesystem::exists(i_fruPath, ec) && (ec))
+        {
+            throw std::runtime_error(
+                "Given file path " + i_fruPath + " not found.");
+        }
+
+        logging::logMessage("Performing VPD read on " + i_fruPath);
+
+        std::shared_ptr<vpd::Parser> l_parserObj =
+            std::make_shared<vpd::Parser>(i_fruPath, l_jsonObj);
+
+        std::shared_ptr<vpd::ParserInterface> l_vpdParserInstance =
+            l_parserObj->getVpdParserInstance();
+
+        return (
+            l_vpdParserInstance->readKeywordFromHardware(i_paramsToReadData));
+    }
+    catch (const std::exception& e)
+    {
+        logging::logMessage(
+            e.what() + std::string(". VPD manager read operation failed for ") +
+            i_fruPath);
+        throw types::DeviceError::ReadFailure();
+    }
+}
+
+void Manager::collectSingleFruVpd(
+    const sdbusplus::message::object_path& i_dbusObjPath)
+{
+    try
+    {
+        if (m_vpdCollectionStatus != "Completed")
+        {
+            throw std::runtime_error(
+                "Currently VPD CollectionStatus is not completed. Cannot perform single FRU VPD collection for " +
+                std::string(i_dbusObjPath));
+        }
+
+        // Get system config JSON object from worker class
+        nlohmann::json l_sysCfgJsonObj{};
+
+        if (m_worker.get() != nullptr)
+        {
+            l_sysCfgJsonObj = m_worker->getSysCfgJsonObj();
+        }
+
+        // Check if system config JSON is present
+        if (l_sysCfgJsonObj.empty())
+        {
+            throw std::runtime_error(
+                "System config JSON object not present. Single FRU VPD collection failed for " +
+                std::string(i_dbusObjPath));
+        }
+
+        // Get FRU path for the given D-bus object path from JSON
+        const std::string& l_fruPath =
+            jsonUtility::getFruPathFromJson(l_sysCfgJsonObj, i_dbusObjPath);
+
+        if (l_fruPath.empty())
+        {
+            throw std::runtime_error(
+                "D-bus object path not present in JSON. Single FRU VPD collection failed for " +
+                std::string(i_dbusObjPath));
+        }
+
+        // Check if host is up and running
+        if (dbusUtility::isHostRunning())
+        {
+            if (!jsonUtility::isFruReplaceableAtRuntime(l_sysCfgJsonObj,
+                                                        l_fruPath))
+            {
+                throw std::runtime_error(
+                    "Given FRU is not replaceable at host runtime. Single FRU VPD collection failed for " +
+                    std::string(i_dbusObjPath));
+            }
+        }
+        else if (dbusUtility::isBMCReady())
+        {
+            if (!jsonUtility::isFruReplaceableAtStandby(l_sysCfgJsonObj,
+                                                        l_fruPath) &&
+                (!jsonUtility::isFruReplaceableAtRuntime(l_sysCfgJsonObj,
+                                                         l_fruPath)))
+            {
+                throw std::runtime_error(
+                    "Given FRU is neither replaceable at standby nor replaceable at runtime. Single FRU VPD collection failed for " +
+                    std::string(i_dbusObjPath));
+            }
+        }
+
+        // Parse VPD
+        types::VPDMapVariant l_parsedVpd = m_worker->parseVpdFile(l_fruPath);
+
+        // If l_parsedVpd is pointing to std::monostate
+        if (l_parsedVpd.index() == 0)
+        {
+            throw std::runtime_error(
+                "VPD parsing failed for " + std::string(i_dbusObjPath));
+        }
+
+        // Get D-bus object map from worker class
+        types::ObjectMap l_dbusObjectMap;
+        m_worker->populateDbus(l_parsedVpd, l_dbusObjectMap, l_fruPath);
+
+        if (l_dbusObjectMap.empty())
+        {
+            throw std::runtime_error(
+                "Failed to create D-bus object map. Single FRU VPD collection failed for " +
+                std::string(i_dbusObjPath));
+        }
+
+        // Call PIM's Notify method
+        if (!dbusUtility::callPIM(move(l_dbusObjectMap)))
+        {
+            throw std::runtime_error(
+                "Notify PIM failed. Single FRU VPD collection failed for " +
+                std::string(i_dbusObjPath));
+        }
+    }
+    catch (const std::exception& l_error)
+    {
+        // TODO: Log PEL
+        logging::logMessage(std::string(l_error.what()));
+    }
+}
+
+void Manager::deleteSingleFruVpd(
+    const sdbusplus::message::object_path& i_dbusObjPath)
+{
+    try
+    {
+        if (std::string(i_dbusObjPath).empty())
+        {
+            throw std::runtime_error(
+                "Given DBus object path is empty. Aborting FRU VPD deletion.");
+        }
+
+        if (m_worker.get() == nullptr)
+        {
+            throw std::runtime_error(
+                "Worker object not found, can't perform FRU VPD deletion for: " +
+                std::string(i_dbusObjPath));
+        }
+
+        m_worker->deleteFruVpd(std::string(i_dbusObjPath));
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Log PEL
+        logging::logMessage(l_ex.what());
+    }
+}
+
+bool Manager::isValidUnexpandedLocationCode(
+    const std::string& i_unexpandedLocationCode)
+{
+    if ((i_unexpandedLocationCode.length() <
+         constants::UNEXP_LOCATION_CODE_MIN_LENGTH) ||
+        ((i_unexpandedLocationCode.compare(0, 4, "Ufcs") !=
+          constants::STR_CMP_SUCCESS) &&
+         (i_unexpandedLocationCode.compare(0, 4, "Umts") !=
+          constants::STR_CMP_SUCCESS)) ||
+        ((i_unexpandedLocationCode.length() >
+          constants::UNEXP_LOCATION_CODE_MIN_LENGTH) &&
+         (i_unexpandedLocationCode.find("-") != 4)))
+    {
+        return false;
+    }
+
+    return true;
+}
+
+std::string Manager::getExpandedLocationCode(
+    const std::string& i_unexpandedLocationCode,
+    [[maybe_unused]] const uint16_t i_nodeNumber)
+{
+    if (!isValidUnexpandedLocationCode(i_unexpandedLocationCode))
+    {
+        phosphor::logging::elog<types::DbusInvalidArgument>(
+            types::InvalidArgument::ARGUMENT_NAME("LOCATIONCODE"),
+            types::InvalidArgument::ARGUMENT_VALUE(
+                i_unexpandedLocationCode.c_str()));
+    }
+
+    const nlohmann::json& l_sysCfgJsonObj = m_worker->getSysCfgJsonObj();
+    if (!l_sysCfgJsonObj.contains("frus"))
+    {
+        logging::logMessage("Missing frus tag in system config JSON");
+    }
+
+    const nlohmann::json& l_listOfFrus =
+        l_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>();
+
+    for (const auto& l_frus : l_listOfFrus.items())
+    {
+        for (const auto& l_aFru : l_frus.value())
+        {
+            if (l_aFru["extraInterfaces"].contains(
+                    constants::locationCodeInf) &&
+                l_aFru["extraInterfaces"][constants::locationCodeInf].value(
+                    "LocationCode", "") == i_unexpandedLocationCode)
+            {
+                return std::get<std::string>(dbusUtility::readDbusProperty(
+                    l_aFru["serviceName"], l_aFru["inventoryPath"],
+                    constants::locationCodeInf, "LocationCode"));
+            }
+        }
+    }
+    phosphor::logging::elog<types::DbusInvalidArgument>(
+        types::InvalidArgument::ARGUMENT_NAME("LOCATIONCODE"),
+        types::InvalidArgument::ARGUMENT_VALUE(
+            i_unexpandedLocationCode.c_str()));
+}
+
+types::ListOfPaths Manager::getFrusByUnexpandedLocationCode(
+    const std::string& i_unexpandedLocationCode,
+    [[maybe_unused]] const uint16_t i_nodeNumber)
+{
+    types::ListOfPaths l_inventoryPaths;
+
+    if (!isValidUnexpandedLocationCode(i_unexpandedLocationCode))
+    {
+        phosphor::logging::elog<types::DbusInvalidArgument>(
+            types::InvalidArgument::ARGUMENT_NAME("LOCATIONCODE"),
+            types::InvalidArgument::ARGUMENT_VALUE(
+                i_unexpandedLocationCode.c_str()));
+    }
+
+    const nlohmann::json& l_sysCfgJsonObj = m_worker->getSysCfgJsonObj();
+    if (!l_sysCfgJsonObj.contains("frus"))
+    {
+        logging::logMessage("Missing frus tag in system config JSON");
+    }
+
+    const nlohmann::json& l_listOfFrus =
+        l_sysCfgJsonObj["frus"].get_ref<const nlohmann::json::object_t&>();
+
+    for (const auto& l_frus : l_listOfFrus.items())
+    {
+        for (const auto& l_aFru : l_frus.value())
+        {
+            if (l_aFru["extraInterfaces"].contains(
+                    constants::locationCodeInf) &&
+                l_aFru["extraInterfaces"][constants::locationCodeInf].value(
+                    "LocationCode", "") == i_unexpandedLocationCode)
+            {
+                l_inventoryPaths.push_back(
+                    l_aFru.at("inventoryPath")
+                        .get_ref<const nlohmann::json::string_t&>());
+            }
+        }
+    }
+
+    if (l_inventoryPaths.empty())
+    {
+        phosphor::logging::elog<types::DbusInvalidArgument>(
+            types::InvalidArgument::ARGUMENT_NAME("LOCATIONCODE"),
+            types::InvalidArgument::ARGUMENT_VALUE(
+                i_unexpandedLocationCode.c_str()));
+    }
+
+    return l_inventoryPaths;
+}
+
+std::string
+    Manager::getHwPath(const sdbusplus::message::object_path& i_dbusObjPath)
+{
+    // Dummy code to supress unused variable warning. To be removed.
+    logging::logMessage(std::string(i_dbusObjPath));
+
+    return std::string{};
+}
+
+std::tuple<std::string, uint16_t> Manager::getUnexpandedLocationCode(
+    const std::string& i_expandedLocationCode)
+{
+    /**
+     * Location code should always start with U and fulfil minimum length
+     * criteria.
+     */
+    if (i_expandedLocationCode[0] != 'U' ||
+        i_expandedLocationCode.length() <
+            constants::EXP_LOCATION_CODE_MIN_LENGTH)
+    {
+        phosphor::logging::elog<types::DbusInvalidArgument>(
+            types::InvalidArgument::ARGUMENT_NAME("LOCATIONCODE"),
+            types::InvalidArgument::ARGUMENT_VALUE(
+                i_expandedLocationCode.c_str()));
+    }
+
+    std::string l_fcKwd;
+
+    auto l_fcKwdValue = dbusUtility::readDbusProperty(
+        "xyz.openbmc_project.Inventory.Manager",
+        "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+        "com.ibm.ipzvpd.VCEN", "FC");
+
+    if (auto l_kwdValue = std::get_if<types::BinaryVector>(&l_fcKwdValue))
+    {
+        l_fcKwd.assign(l_kwdValue->begin(), l_kwdValue->end());
+    }
+
+    // Get the first part of expanded location code to check for FC or TM.
+    std::string l_firstKwd = i_expandedLocationCode.substr(1, 4);
+
+    std::string l_unexpandedLocationCode{};
+    uint16_t l_nodeNummber = constants::INVALID_NODE_NUMBER;
+
+    // Check if this value matches the value of FC keyword.
+    if (l_fcKwd.substr(0, 4) == l_firstKwd)
+    {
+        /**
+         * Period(.) should be there in expanded location code to seggregate
+         * FC, node number and SE values.
+         */
+        size_t l_nodeStartPos = i_expandedLocationCode.find('.');
+        if (l_nodeStartPos == std::string::npos)
+        {
+            phosphor::logging::elog<types::DbusInvalidArgument>(
+                types::InvalidArgument::ARGUMENT_NAME("LOCATIONCODE"),
+                types::InvalidArgument::ARGUMENT_VALUE(
+                    i_expandedLocationCode.c_str()));
+        }
+
+        size_t l_nodeEndPos =
+            i_expandedLocationCode.find('.', l_nodeStartPos + 1);
+        if (l_nodeEndPos == std::string::npos)
+        {
+            phosphor::logging::elog<types::DbusInvalidArgument>(
+                types::InvalidArgument::ARGUMENT_NAME("LOCATIONCODE"),
+                types::InvalidArgument::ARGUMENT_VALUE(
+                    i_expandedLocationCode.c_str()));
+        }
+
+        // Skip 3 bytes for '.ND'
+        l_nodeNummber = std::stoi(i_expandedLocationCode.substr(
+            l_nodeStartPos + 3, (l_nodeEndPos - l_nodeStartPos - 3)));
+
+        /**
+         * Confirm if there are other details apart FC, node number and SE
+         * in location code
+         */
+        if (i_expandedLocationCode.length() >
+            constants::EXP_LOCATION_CODE_MIN_LENGTH)
+        {
+            l_unexpandedLocationCode =
+                i_expandedLocationCode[0] + std::string("fcs") +
+                i_expandedLocationCode.substr(
+                    l_nodeEndPos + 1 + constants::SE_KWD_LENGTH,
+                    std::string::npos);
+        }
+        else
+        {
+            l_unexpandedLocationCode = "Ufcs";
+        }
+    }
+    else
+    {
+        std::string l_tmKwd;
+        // Read TM keyword value.
+        auto l_tmKwdValue = dbusUtility::readDbusProperty(
+            "xyz.openbmc_project.Inventory.Manager",
+            "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+            "com.ibm.ipzvpd.VSYS", "TM");
+
+        if (auto l_kwdValue = std::get_if<types::BinaryVector>(&l_tmKwdValue))
+        {
+            l_tmKwd.assign(l_kwdValue->begin(), l_kwdValue->end());
+        }
+
+        // Check if the substr matches to TM keyword value.
+        if (l_tmKwd.substr(0, 4) == l_firstKwd)
+        {
+            /**
+             * System location code will not have node number and any other
+             * details.
+             */
+            l_unexpandedLocationCode = "Umts";
+        }
+        // The given location code is neither "fcs" or "mts".
+        else
+        {
+            phosphor::logging::elog<types::DbusInvalidArgument>(
+                types::InvalidArgument::ARGUMENT_NAME("LOCATIONCODE"),
+                types::InvalidArgument::ARGUMENT_VALUE(
+                    i_expandedLocationCode.c_str()));
+        }
+    }
+
+    return std::make_tuple(l_unexpandedLocationCode, l_nodeNummber);
+}
+
+types::ListOfPaths Manager::getFrusByExpandedLocationCode(
+    const std::string& i_expandedLocationCode)
+{
+    std::tuple<std::string, uint16_t> l_locationAndNodePair =
+        getUnexpandedLocationCode(i_expandedLocationCode);
+
+    return getFrusByUnexpandedLocationCode(std::get<0>(l_locationAndNodePair),
+                                           std::get<1>(l_locationAndNodePair));
+}
+
+void Manager::registerHostStateChangeCallback()
+{
+    static std::shared_ptr<sdbusplus::bus::match_t> l_hostState =
+        std::make_shared<sdbusplus::bus::match_t>(
+            *m_asioConnection,
+            sdbusplus::bus::match::rules::propertiesChanged(
+                constants::hostObjectPath, constants::hostInterface),
+            [this](sdbusplus::message_t& i_msg) {
+                hostStateChangeCallBack(i_msg);
+            });
+}
+
+void Manager::hostStateChangeCallBack(sdbusplus::message_t& i_msg)
+{
+    try
+    {
+        if (i_msg.is_method_error())
+        {
+            throw std::runtime_error(
+                "Error reading callback message for host state");
+        }
+
+        std::string l_objectPath;
+        types::PropertyMap l_propMap;
+        i_msg.read(l_objectPath, l_propMap);
+
+        const auto l_itr = l_propMap.find("CurrentHostState");
+
+        if (l_itr == l_propMap.end())
+        {
+            throw std::runtime_error(
+                "CurrentHostState field is missing in callback message");
+        }
+
+        if (auto l_hostState = std::get_if<std::string>(&(l_itr->second)))
+        {
+            // implies system is moving from standby to power on state
+            if (*l_hostState == "xyz.openbmc_project.State.Host.HostState."
+                                "TransitioningToRunning")
+            {
+                // TODO: check for all the essential FRUs in the system.
+
+                // Perform recollection.
+                performVpdRecollection();
+                return;
+            }
+        }
+        else
+        {
+            throw std::runtime_error(
+                "Invalid type recieved in variant for host state.");
+        }
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Log PEL.
+        logging::logMessage(l_ex.what());
+    }
+}
+
+void Manager::performVpdRecollection()
+{
+    try
+    {
+        if (m_worker.get() != nullptr)
+        {
+            nlohmann::json l_sysCfgJsonObj = m_worker->getSysCfgJsonObj();
+
+            // Check if system config JSON is present
+            if (l_sysCfgJsonObj.empty())
+            {
+                throw std::runtime_error(
+                    "System config json object is empty, can't process recollection.");
+            }
+
+            const auto& l_frusReplaceableAtStandby =
+                jsonUtility::getListOfFrusReplaceableAtStandby(l_sysCfgJsonObj);
+
+            for (const auto& l_fruInventoryPath : l_frusReplaceableAtStandby)
+            {
+                // ToDo: Add some logic/trace to know the flow to
+                // collectSingleFruVpd has been directed via
+                // performVpdRecollection.
+                collectSingleFruVpd(l_fruInventoryPath);
+            }
+            return;
+        }
+
+        throw std::runtime_error(
+            "Worker object not found can't process recollection");
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO Log PEL
+        logging::logMessage(
+            "VPD recollection failed with error: " + std::string(l_ex.what()));
+    }
+}
+} // namespace vpd
diff --git a/vpd-manager/src/manager_main.cpp b/vpd-manager/src/manager_main.cpp
new file mode 100644
index 0000000..a1d61e4
--- /dev/null
+++ b/vpd-manager/src/manager_main.cpp
@@ -0,0 +1,94 @@
+#include "config.h"
+
+#include "bios_handler.hpp"
+#include "event_logger.hpp"
+#include "exceptions.hpp"
+#include "logger.hpp"
+#include "manager.hpp"
+#include "types.hpp"
+
+#include <sdbusplus/asio/connection.hpp>
+#include <sdbusplus/asio/object_server.hpp>
+
+#include <iostream>
+
+/**
+ * @brief Main function for VPD parser application.
+ */
+int main(int, char**)
+{
+    try
+    {
+        auto io_con = std::make_shared<boost::asio::io_context>();
+        auto connection =
+            std::make_shared<sdbusplus::asio::connection>(*io_con);
+        auto server = sdbusplus::asio::object_server(connection);
+
+        std::shared_ptr<sdbusplus::asio::dbus_interface> interface =
+            server.add_interface(OBJPATH, IFACE);
+
+        auto vpdManager =
+            std::make_shared<vpd::Manager>(io_con, interface, connection);
+
+        // TODO: Take this under conditional compilation for IBM
+        auto biosHandler =
+            std::make_shared<vpd::BiosHandler<vpd::IbmBiosHandler>>(
+                connection, vpdManager);
+
+        interface->initialize();
+
+        vpd::logging::logMessage("Start VPD-Manager event loop");
+
+        // Grab the bus name
+        connection->request_name(BUSNAME);
+
+        // Start event loop.
+        io_con->run();
+
+        exit(EXIT_SUCCESS);
+    }
+    catch (const std::exception& l_ex)
+    {
+        if (typeid(l_ex) == typeid(vpd::JsonException))
+        {
+            // ToDo: Severity needs to be revisited.
+            vpd::EventLogger::createAsyncPel(
+                vpd::types::ErrorType::JsonFailure,
+                vpd::types::SeverityType::Informational, __FILE__, __FUNCTION__,
+                0,
+                std::string("VPD Manager service failed with : ") + l_ex.what(),
+                std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+        }
+        else if (typeid(l_ex) == typeid(vpd::GpioException))
+        {
+            // ToDo: Severity needs to be revisited.
+            vpd::EventLogger::createAsyncPel(
+                vpd::types::ErrorType::GpioError,
+                vpd::types::SeverityType::Informational, __FILE__, __FUNCTION__,
+                0,
+                std::string("VPD Manager service failed with : ") + l_ex.what(),
+                std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+        }
+        else if (typeid(l_ex) == typeid(sdbusplus::exception::SdBusError))
+        {
+            // ToDo: Severity needs to be revisited.
+            vpd::EventLogger::createAsyncPel(
+                vpd::types::ErrorType::DbusFailure,
+                vpd::types::SeverityType::Informational, __FILE__, __FUNCTION__,
+                0,
+                std::string("VPD Manager service failed with : ") + l_ex.what(),
+                std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+        }
+        else
+        {
+            // ToDo: Severity needs to be revisited.
+            vpd::EventLogger::createAsyncPel(
+                vpd::types::ErrorType::InvalidVpdMessage,
+                vpd::types::SeverityType::Informational, __FILE__, __FUNCTION__,
+                0,
+                std::string("VPD Manager service failed with : ") + l_ex.what(),
+                "BMC0001", std::nullopt, std::nullopt, std::nullopt);
+        }
+    }
+    exit(EXIT_FAILURE);
+}
diff --git a/vpd-manager/src/parser.cpp b/vpd-manager/src/parser.cpp
new file mode 100644
index 0000000..d6266cb
--- /dev/null
+++ b/vpd-manager/src/parser.cpp
@@ -0,0 +1,342 @@
+#include "parser.hpp"
+
+#include "constants.hpp"
+#include "event_logger.hpp"
+
+#include <utility/dbus_utility.hpp>
+#include <utility/json_utility.hpp>
+#include <utility/vpd_specific_utility.hpp>
+
+#include <fstream>
+
+namespace vpd
+{
+Parser::Parser(const std::string& vpdFilePath, nlohmann::json parsedJson) :
+    m_vpdFilePath(vpdFilePath), m_parsedJson(parsedJson)
+{
+    std::error_code l_errCode;
+
+    // ToDo: Add minimum file size check in all the concert praser classes,
+    // depends on their VPD type.
+    if (!std::filesystem::exists(m_vpdFilePath, l_errCode))
+    {
+        std::string l_message{"Parser object creation failed, file [" +
+                              m_vpdFilePath + "] doesn't exists."};
+
+        if (l_errCode)
+        {
+            l_message += " Error message: " + l_errCode.message();
+        }
+
+        throw std::runtime_error(l_message);
+    }
+
+    // Read VPD offset if applicable.
+    if (!m_parsedJson.empty())
+    {
+        m_vpdStartOffset = jsonUtility::getVPDOffset(m_parsedJson, vpdFilePath);
+    }
+}
+
+std::shared_ptr<vpd::ParserInterface> Parser::getVpdParserInstance()
+{
+    // Read the VPD data into a vector.
+    vpdSpecificUtility::getVpdDataInVector(m_vpdFilePath, m_vpdVector,
+                                           m_vpdStartOffset);
+
+    // This will detect the type of parser required.
+    std::shared_ptr<vpd::ParserInterface> l_parser =
+        ParserFactory::getParser(m_vpdVector, m_vpdFilePath, m_vpdStartOffset);
+
+    return l_parser;
+}
+
+types::VPDMapVariant Parser::parse()
+{
+    std::shared_ptr<vpd::ParserInterface> l_parser = getVpdParserInstance();
+    return l_parser->parse();
+}
+
+int Parser::updateVpdKeyword(const types::WriteVpdParams& i_paramsToWriteData)
+{
+    int l_bytesUpdatedOnHardware = constants::FAILURE;
+
+    // A lambda to extract Record : Keyword string from i_paramsToWriteData
+    auto l_keyWordIdentifier =
+        [](const types::WriteVpdParams& i_paramsToWriteData) -> std::string {
+        std::string l_keywordString{};
+        if (const types::IpzData* l_ipzData =
+                std::get_if<types::IpzData>(&i_paramsToWriteData))
+        {
+            l_keywordString =
+                std::get<0>(*l_ipzData) + ":" + std::get<1>(*l_ipzData);
+        }
+        else if (const types::KwData* l_kwData =
+                     std::get_if<types::KwData>(&i_paramsToWriteData))
+        {
+            l_keywordString = std::get<0>(*l_kwData);
+        }
+        return l_keywordString;
+    };
+
+    try
+    {
+        // Enable Reboot Guard
+        if (constants::FAILURE == dbusUtility::EnableRebootGuard())
+        {
+            EventLogger::createAsyncPel(
+                types::ErrorType::DbusFailure,
+                types::SeverityType::Informational, __FILE__, __FUNCTION__, 0,
+                std::string(
+                    "Failed to enable BMC Reboot Guard while updating " +
+                    l_keyWordIdentifier(i_paramsToWriteData)),
+                std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+
+            return constants::FAILURE;
+        }
+
+        // Update keyword's value on hardware
+        try
+        {
+            std::shared_ptr<ParserInterface> l_vpdParserInstance =
+                getVpdParserInstance();
+            l_bytesUpdatedOnHardware =
+                l_vpdParserInstance->writeKeywordOnHardware(
+                    i_paramsToWriteData);
+        }
+        catch (const std::exception& l_exception)
+        {
+            std::string l_errMsg(
+                "Error while updating keyword's value on hardware path " +
+                m_vpdFilePath + ", error: " + std::string(l_exception.what()));
+
+            // TODO : Log PEL
+
+            throw std::runtime_error(l_errMsg);
+        }
+
+        auto [l_fruPath, l_inventoryObjPath, l_redundantFruPath] =
+            jsonUtility::getAllPathsToUpdateKeyword(m_parsedJson,
+                                                    m_vpdFilePath);
+
+        // If inventory D-bus object path is present, update keyword's value on
+        // DBus
+        if (!l_inventoryObjPath.empty())
+        {
+            types::Record l_recordName;
+            std::string l_interfaceName;
+            std::string l_propertyName;
+            types::DbusVariantType l_keywordValue;
+
+            if (const types::IpzData* l_ipzData =
+                    std::get_if<types::IpzData>(&i_paramsToWriteData))
+            {
+                l_recordName = std::get<0>(*l_ipzData);
+                l_interfaceName = constants::ipzVpdInf + l_recordName;
+                l_propertyName = std::get<1>(*l_ipzData);
+
+                try
+                {
+                    // Read keyword's value from hardware to write the same on
+                    // D-bus.
+                    std::shared_ptr<ParserInterface> l_vpdParserInstance =
+                        getVpdParserInstance();
+
+                    logging::logMessage(
+                        "Performing VPD read on " + m_vpdFilePath);
+
+                    l_keywordValue =
+                        l_vpdParserInstance->readKeywordFromHardware(
+                            types::ReadVpdParams(
+                                std::make_tuple(l_recordName, l_propertyName)));
+                }
+                catch (const std::exception& l_exception)
+                {
+                    // Unable to read keyword's value from hardware.
+                    std::string l_errMsg(
+                        "Error while reading keyword's value from hadware path " +
+                        m_vpdFilePath +
+                        ", error: " + std::string(l_exception.what()));
+
+                    // TODO: Log PEL
+
+                    throw std::runtime_error(l_errMsg);
+                }
+            }
+            else
+            {
+                // Input parameter type provided isn't compatible to perform
+                // update.
+                std::string l_errMsg(
+                    "Input parameter type isn't compatible to update keyword's value on DBus for object path: " +
+                    l_inventoryObjPath);
+                throw std::runtime_error(l_errMsg);
+            }
+
+            // Get D-bus name for the given keyword
+            l_propertyName =
+                vpdSpecificUtility::getDbusPropNameForGivenKw(l_propertyName);
+
+            // Create D-bus object map
+            types::ObjectMap l_dbusObjMap = {std::make_pair(
+                l_inventoryObjPath,
+                types::InterfaceMap{std::make_pair(
+                    l_interfaceName, types::PropertyMap{std::make_pair(
+                                         l_propertyName, l_keywordValue)})})};
+
+            // Call PIM's Notify method to perform update
+            if (!dbusUtility::callPIM(std::move(l_dbusObjMap)))
+            {
+                // Call to PIM's Notify method failed.
+                std::string l_errMsg("Notify PIM is failed for object path: " +
+                                     l_inventoryObjPath);
+                throw std::runtime_error(l_errMsg);
+            }
+        }
+
+        // Update keyword's value on redundant hardware if present
+        if (!l_redundantFruPath.empty())
+        {
+            if (updateVpdKeywordOnRedundantPath(l_redundantFruPath,
+                                                i_paramsToWriteData) < 0)
+            {
+                std::string l_errMsg(
+                    "Error while updating keyword's value on redundant path " +
+                    l_redundantFruPath);
+                throw std::runtime_error(l_errMsg);
+            }
+        }
+
+        // TODO: Check if revert is required when any of the writes fails.
+        // TODO: Handle error logging
+    }
+    catch (const std::exception& l_ex)
+    {
+        logging::logMessage("Update VPD Keyword failed for : " +
+                            l_keyWordIdentifier(i_paramsToWriteData) +
+                            " failed due to error: " + l_ex.what());
+
+        // update failed, set return value to failure
+        l_bytesUpdatedOnHardware = constants::FAILURE;
+    }
+
+    // Disable Reboot Guard
+    if (constants::FAILURE == dbusUtility::DisableRebootGuard())
+    {
+        EventLogger::createAsyncPel(
+            types::ErrorType::DbusFailure, types::SeverityType::Critical,
+            __FILE__, __FUNCTION__, 0,
+            std::string("Failed to disable BMC Reboot Guard while updating " +
+                        l_keyWordIdentifier(i_paramsToWriteData)),
+            std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+    }
+
+    return l_bytesUpdatedOnHardware;
+}
+
+int Parser::updateVpdKeywordOnRedundantPath(
+    const std::string& i_fruPath,
+    const types::WriteVpdParams& i_paramsToWriteData)
+{
+    try
+    {
+        std::shared_ptr<Parser> l_parserObj =
+            std::make_shared<Parser>(i_fruPath, m_parsedJson);
+
+        std::shared_ptr<ParserInterface> l_vpdParserInstance =
+            l_parserObj->getVpdParserInstance();
+
+        return l_vpdParserInstance->writeKeywordOnHardware(i_paramsToWriteData);
+    }
+    catch (const std::exception& l_exception)
+    {
+        EventLogger::createSyncPel(
+            types::ErrorType::InvalidVpdMessage,
+            types::SeverityType::Informational, __FILE__, __FUNCTION__, 0,
+            "Error while updating keyword's value on redundant path " +
+                i_fruPath + ", error: " + std::string(l_exception.what()),
+            std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+        return -1;
+    }
+}
+
+int Parser::updateVpdKeywordOnHardware(
+    const types::WriteVpdParams& i_paramsToWriteData)
+{
+    int l_bytesUpdatedOnHardware = constants::FAILURE;
+
+    // A lambda to extract Record : Keyword string from i_paramsToWriteData
+    auto l_keyWordIdentifier =
+        [](const types::WriteVpdParams& i_paramsToWriteData) -> std::string {
+        std::string l_keywordString{};
+        if (const types::IpzData* l_ipzData =
+                std::get_if<types::IpzData>(&i_paramsToWriteData))
+        {
+            l_keywordString =
+                std::get<0>(*l_ipzData) + ":" + std::get<1>(*l_ipzData);
+        }
+        else if (const types::KwData* l_kwData =
+                     std::get_if<types::KwData>(&i_paramsToWriteData))
+        {
+            l_keywordString = std::get<0>(*l_kwData);
+        }
+        return l_keywordString;
+    };
+
+    try
+    {
+        // Enable Reboot Guard
+        if (constants::FAILURE == dbusUtility::EnableRebootGuard())
+        {
+            EventLogger::createAsyncPel(
+                types::ErrorType::DbusFailure,
+                types::SeverityType::Informational, __FILE__, __FUNCTION__, 0,
+                std::string(
+                    "Failed to enable BMC Reboot Guard while updating " +
+                    l_keyWordIdentifier(i_paramsToWriteData)),
+                std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+
+            return constants::FAILURE;
+        }
+
+        std::shared_ptr<ParserInterface> l_vpdParserInstance =
+            getVpdParserInstance();
+        l_bytesUpdatedOnHardware =
+            l_vpdParserInstance->writeKeywordOnHardware(i_paramsToWriteData);
+    }
+    catch (const std::exception& l_exception)
+    {
+        types::ErrorType l_errorType;
+
+        if (typeid(l_exception) == typeid(EccException))
+        {
+            l_errorType = types::ErrorType::EccCheckFailed;
+        }
+        else
+        {
+            l_errorType = types::ErrorType::InvalidVpdMessage;
+        }
+
+        EventLogger::createAsyncPel(
+            l_errorType, types::SeverityType::Informational, __FILE__,
+            __FUNCTION__, 0,
+            "Error while updating keyword's value on hardware path [" +
+                m_vpdFilePath + "], error: " + std::string(l_exception.what()),
+            std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+    }
+
+    // Disable Reboot Guard
+    if (constants::FAILURE == dbusUtility::DisableRebootGuard())
+    {
+        EventLogger::createAsyncPel(
+            types::ErrorType::DbusFailure, types::SeverityType::Critical,
+            __FILE__, __FUNCTION__, 0,
+            std::string("Failed to disable BMC Reboot Guard while updating " +
+                        l_keyWordIdentifier(i_paramsToWriteData)),
+            std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+    }
+
+    return l_bytesUpdatedOnHardware;
+}
+
+} // namespace vpd
diff --git a/vpd-manager/src/parser_factory.cpp b/vpd-manager/src/parser_factory.cpp
new file mode 100644
index 0000000..546e67b
--- /dev/null
+++ b/vpd-manager/src/parser_factory.cpp
@@ -0,0 +1,140 @@
+#include "parser_factory.hpp"
+
+#include "constants.hpp"
+#include "ddimm_parser.hpp"
+#include "exceptions.hpp"
+#include "ipz_parser.hpp"
+#include "isdimm_parser.hpp"
+#include "keyword_vpd_parser.hpp"
+
+namespace vpd
+{
+
+/**
+ * @brief Type of VPD formats.
+ */
+enum vpdType
+{
+    IPZ_VPD,                /**< IPZ VPD type */
+    KEYWORD_VPD,            /**< Keyword VPD type */
+    DDR4_DDIMM_MEMORY_VPD,  /**< DDR4 DDIMM Memory VPD type */
+    DDR5_DDIMM_MEMORY_VPD,  /**< DDR5 DDIMM Memory VPD type */
+    DDR4_ISDIMM_MEMORY_VPD, /**< DDR4 ISDIMM Memory VPD type */
+    DDR5_ISDIMM_MEMORY_VPD, /**< DDR5 ISDIMM Memory VPD type */
+    INVALID_VPD_FORMAT      /**< Invalid VPD type */
+};
+
+/**
+ * @brief API to get the type of VPD.
+ *
+ * @param[in] i_vpdVector - VPD file content
+ *
+ * @return Type of VPD data, "INVALID_VPD_FORMAT" in case of unknown type.
+ */
+static vpdType vpdTypeCheck(const types::BinaryVector& i_vpdVector)
+{
+    if (i_vpdVector[constants::IPZ_DATA_START] == constants::IPZ_DATA_START_TAG)
+    {
+        return vpdType::IPZ_VPD;
+    }
+    else if (i_vpdVector[constants::KW_VPD_DATA_START] ==
+             constants::KW_VPD_START_TAG)
+    {
+        return vpdType::KEYWORD_VPD;
+    }
+    else if (((i_vpdVector[constants::SPD_BYTE_3] &
+               constants::SPD_BYTE_BIT_0_3_MASK) ==
+              constants::SPD_MODULE_TYPE_DDIMM))
+    {
+        std::string l_is11SFormat;
+        if (i_vpdVector.size() > (constants::DDIMM_11S_BARCODE_START +
+                                  constants::DDIMM_11S_BARCODE_LEN))
+        {
+            // Read first 3 Bytes to check the 11S bar code format
+            for (uint8_t l_index = 0; l_index < constants::DDIMM_11S_FORMAT_LEN;
+                 l_index++)
+            {
+                l_is11SFormat +=
+                    i_vpdVector[constants::DDIMM_11S_BARCODE_START + l_index];
+            }
+        }
+
+        if (l_is11SFormat.compare(constants::DDIMM_11S_BARCODE_START_TAG) == 0)
+        {
+            // DDIMM memory VPD format
+            if ((i_vpdVector[constants::SPD_BYTE_2] &
+                 constants::SPD_BYTE_MASK) == constants::SPD_DRAM_TYPE_DDR5)
+            {
+                return vpdType::DDR5_DDIMM_MEMORY_VPD;
+            }
+
+            if ((i_vpdVector[constants::SPD_BYTE_2] &
+                 constants::SPD_BYTE_MASK) == constants::SPD_DRAM_TYPE_DDR4)
+            {
+                return vpdType::DDR4_DDIMM_MEMORY_VPD;
+            }
+        }
+
+        logging::logMessage("11S format is not found in the DDIMM VPD.");
+        return vpdType::INVALID_VPD_FORMAT;
+    }
+    else if ((i_vpdVector[constants::SPD_BYTE_2] & constants::SPD_BYTE_MASK) ==
+             constants::SPD_DRAM_TYPE_DDR5)
+    {
+        // ISDIMM memory VPD format
+        return vpdType::DDR5_ISDIMM_MEMORY_VPD;
+    }
+    else if ((i_vpdVector[constants::SPD_BYTE_2] & constants::SPD_BYTE_MASK) ==
+             constants::SPD_DRAM_TYPE_DDR4)
+    {
+        // ISDIMM memory VPD format
+        return vpdType::DDR4_ISDIMM_MEMORY_VPD;
+    }
+
+    return vpdType::INVALID_VPD_FORMAT;
+}
+
+std::shared_ptr<ParserInterface> ParserFactory::getParser(
+    const types::BinaryVector& i_vpdVector, const std::string& i_vpdFilePath,
+    size_t i_vpdStartOffset)
+{
+    if (i_vpdVector.empty())
+    {
+        throw std::runtime_error("Empty VPD vector passed to parser factory");
+    }
+
+    vpdType l_type = vpdTypeCheck(i_vpdVector);
+
+    switch (l_type)
+    {
+        case vpdType::IPZ_VPD:
+        {
+            return std::make_shared<IpzVpdParser>(i_vpdVector, i_vpdFilePath,
+                                                  i_vpdStartOffset);
+        }
+
+        case vpdType::KEYWORD_VPD:
+        {
+            return std::make_shared<KeywordVpdParser>(i_vpdVector);
+        }
+
+        case vpdType::DDR5_DDIMM_MEMORY_VPD:
+        case vpdType::DDR4_DDIMM_MEMORY_VPD:
+        {
+            return std::make_shared<DdimmVpdParser>(i_vpdVector);
+        }
+
+        case vpdType::DDR4_ISDIMM_MEMORY_VPD:
+        case vpdType::DDR5_ISDIMM_MEMORY_VPD:
+        {
+            // return shared pointer to class object.
+            logging::logMessage(
+                "ISDIMM parser selected for VPD path: " + i_vpdFilePath);
+            return std::make_shared<JedecSpdParser>(i_vpdVector);
+        }
+
+        default:
+            throw DataException("Unable to determine VPD format");
+    }
+}
+} // namespace vpd
diff --git a/vpd-manager/src/vpd_parser_main.cpp b/vpd-manager/src/vpd_parser_main.cpp
new file mode 100644
index 0000000..0c434d8
--- /dev/null
+++ b/vpd-manager/src/vpd_parser_main.cpp
@@ -0,0 +1,101 @@
+#include "logger.hpp"
+#include "parser.hpp"
+#include "parser_interface.hpp"
+#include "types.hpp"
+#include "worker.hpp"
+
+#include <CLI/CLI.hpp>
+#include <nlohmann/json.hpp>
+#include <parser_factory.hpp>
+
+#include <filesystem>
+#include <iostream>
+
+/**
+ * @brief This file implements a generic parser APP.
+ *
+ * It recieves path of the VPD file(mandatory) and path to a config
+ * file(optional) as arguments. It will parse the data and return parsed data in
+ * a required format.
+ *
+ * Steps to get parsed VPD.
+ * - Pass VPD file path and config file (if applicable).
+ * - Read VPD file to vector.
+ * - Pass that to parser_factory to get the parser and call parse API on that
+ * parser object to get the Parsed VPD map.
+ * - If VPD format is other than the existing formats. Follow the steps
+ * - a) Add logic in parser_factory.cpp, vpdTypeCheck API to detect the format.
+ * - b) Implement a custom parser class.
+ * - c) Override parse API in the newly added parser class.
+ * - d) Add type of parsed data returned by parse API into types.hpp,
+ * "VPDMapVariant".
+ *
+ */
+
+int main(int argc, char** argv)
+{
+    try
+    {
+        std::string vpdFilePath{};
+        CLI::App app{"VPD-parser-app - APP to parse VPD. "};
+
+        app.add_option("-f, --file", vpdFilePath, "VPD file path")->required();
+
+        std::string configFilePath{};
+
+        app.add_option("-c,--config", configFilePath, "Path to JSON config");
+
+        CLI11_PARSE(app, argc, argv);
+
+        vpd::logging::logMessage("VPD file path recieved" + vpdFilePath);
+
+        // VPD file path is a mandatory parameter to execute any parser.
+        if (vpdFilePath.empty())
+        {
+            throw std::runtime_error("Empty VPD file path");
+        }
+
+        nlohmann::json json;
+        vpd::types::VPDMapVariant parsedVpdDataMap;
+
+        // Below are two different ways of parsing the VPD.
+        if (!configFilePath.empty())
+        {
+            vpd::logging::logMessage(
+                "Processing with config file - " + configFilePath);
+
+            std::shared_ptr<vpd::Worker> objWorker =
+                std::make_shared<vpd::Worker>(configFilePath);
+            parsedVpdDataMap = objWorker->parseVpdFile(vpdFilePath);
+
+            // Based on requirement, call appropriate public API of worker class
+            /*If required to publish the FRU data on Dbus*/
+            // objWorker->publishFruDataOnDbus(parsedVpdDataMap);
+        }
+        else
+        {
+            // Will work with empty JSON
+            std::shared_ptr<vpd::Parser> vpdParser =
+                std::make_shared<vpd::Parser>(vpdFilePath, json);
+            parsedVpdDataMap = vpdParser->parse();
+        }
+
+        // If custom handling is required then custom logic to be implemented
+        // based on the type of variant,
+        //  eg: for IPZ VPD format
+        if (auto ipzVpdMap =
+                std::get_if<vpd::types::IPZVpdMap>(&parsedVpdDataMap))
+        {
+            // get rid of unused variable warning/error
+            (void)ipzVpdMap;
+            // implement code that needs to handle parsed IPZ VPD.
+        }
+    }
+    catch (const std::exception& ex)
+    {
+        vpd::logging::logMessage(ex.what());
+        return -1;
+    }
+
+    return 0;
+}
diff --git a/vpd-manager/src/worker.cpp b/vpd-manager/src/worker.cpp
new file mode 100644
index 0000000..2cf8cb5
--- /dev/null
+++ b/vpd-manager/src/worker.cpp
@@ -0,0 +1,1677 @@
+#include "config.h"
+
+#include "worker.hpp"
+
+#include "backup_restore.hpp"
+#include "configuration.hpp"
+#include "constants.hpp"
+#include "event_logger.hpp"
+#include "exceptions.hpp"
+#include "logger.hpp"
+#include "parser.hpp"
+#include "parser_factory.hpp"
+#include "parser_interface.hpp"
+
+#include <utility/dbus_utility.hpp>
+#include <utility/json_utility.hpp>
+#include <utility/vpd_specific_utility.hpp>
+
+#include <filesystem>
+#include <fstream>
+#include <future>
+#include <typeindex>
+#include <unordered_set>
+
+namespace vpd
+{
+
+Worker::Worker(std::string pathToConfigJson) :
+    m_configJsonPath(pathToConfigJson)
+{
+    // Implies the processing is based on some config JSON
+    if (!m_configJsonPath.empty())
+    {
+        // Check if symlink is already there to confirm fresh boot/factory
+        // reset.
+        if (std::filesystem::exists(INVENTORY_JSON_SYM_LINK))
+        {
+            logging::logMessage("Sym Link already present");
+            m_configJsonPath = INVENTORY_JSON_SYM_LINK;
+            m_isSymlinkPresent = true;
+        }
+
+        try
+        {
+            m_parsedJson = jsonUtility::getParsedJson(m_configJsonPath);
+
+            // check for mandatory fields at this point itself.
+            if (!m_parsedJson.contains("frus"))
+            {
+                throw std::runtime_error("Mandatory tag(s) missing from JSON");
+            }
+        }
+        catch (const std::exception& ex)
+        {
+            throw(JsonException(ex.what(), m_configJsonPath));
+        }
+    }
+    else
+    {
+        logging::logMessage("Processing in not based on any config JSON");
+    }
+}
+
+void Worker::enableMuxChips()
+{
+    if (m_parsedJson.empty())
+    {
+        // config JSON should not be empty at this point of execution.
+        throw std::runtime_error("Config JSON is empty. Can't enable muxes");
+        return;
+    }
+
+    if (!m_parsedJson.contains("muxes"))
+    {
+        logging::logMessage("No mux defined for the system in config JSON");
+        return;
+    }
+
+    // iterate over each MUX detail and enable them.
+    for (const auto& item : m_parsedJson["muxes"])
+    {
+        if (item.contains("holdidlepath"))
+        {
+            std::string cmd = "echo 0 > ";
+            cmd += item["holdidlepath"];
+
+            logging::logMessage("Enabling mux with command = " + cmd);
+
+            commonUtility::executeCmd(cmd);
+            continue;
+        }
+
+        logging::logMessage(
+            "Mux Entry does not have hold idle path. Can't enable the mux");
+    }
+}
+
+#ifdef IBM_SYSTEM
+void Worker::primeSystemBlueprint()
+{
+    if (m_parsedJson.empty())
+    {
+        return;
+    }
+
+    const nlohmann::json& l_listOfFrus =
+        m_parsedJson["frus"].get_ref<const nlohmann::json::object_t&>();
+
+    for (const auto& l_itemFRUS : l_listOfFrus.items())
+    {
+        const std::string& l_vpdFilePath = l_itemFRUS.key();
+
+        if (l_vpdFilePath == SYSTEM_VPD_FILE_PATH)
+        {
+            continue;
+        }
+
+        // Prime the inventry for FRUs which
+        // are not present/processing had some error.
+        if (!primeInventory(l_vpdFilePath))
+        {
+            logging::logMessage(
+                "Priming of inventory failed for FRU " + l_vpdFilePath);
+        }
+    }
+}
+
+void Worker::performInitialSetup()
+{
+    try
+    {
+        if (!dbusUtility::isChassisPowerOn())
+        {
+            logging::logMessage("Chassis is in Off state.");
+            setDeviceTreeAndJson();
+            primeSystemBlueprint();
+        }
+
+        // Enable all mux which are used for connecting to the i2c on the
+        // pcie slots for pcie cards. These are not enabled by kernel due to
+        // an issue seen with Castello cards, where the i2c line hangs on a
+        // probe.
+        enableMuxChips();
+
+        // Nothing needs to be done. Service restarted or BMC re-booted for
+        // some reason at system power on.
+        return;
+    }
+    catch (const std::exception& ex)
+    {
+        if (typeid(ex) == std::type_index(typeid(DataException)))
+        {
+            // TODO:Catch logic to be implemented once PEL code goes in.
+        }
+        else if (typeid(ex) == std::type_index(typeid(EccException)))
+        {
+            // TODO:Catch logic to be implemented once PEL code goes in.
+        }
+        else if (typeid(ex) == std::type_index(typeid(JsonException)))
+        {
+            // TODO:Catch logic to be implemented once PEL code goes in.
+        }
+
+        logging::logMessage(ex.what());
+        throw;
+    }
+}
+#endif
+
+static std::string readFitConfigValue()
+{
+    std::vector<std::string> output =
+        commonUtility::executeCmd("/sbin/fw_printenv");
+    std::string fitConfigValue;
+
+    for (const auto& entry : output)
+    {
+        auto pos = entry.find("=");
+        auto key = entry.substr(0, pos);
+        if (key != "fitconfig")
+        {
+            continue;
+        }
+
+        if (pos + 1 < entry.size())
+        {
+            fitConfigValue = entry.substr(pos + 1);
+        }
+    }
+
+    return fitConfigValue;
+}
+
+bool Worker::isSystemVPDOnDBus() const
+{
+    const std::string& mboardPath =
+        m_parsedJson["frus"][SYSTEM_VPD_FILE_PATH].at(0).value(
+            "inventoryPath", "");
+
+    if (mboardPath.empty())
+    {
+        throw JsonException("System vpd file path missing in JSON",
+                            INVENTORY_JSON_SYM_LINK);
+    }
+
+    std::array<const char*, 1> interfaces = {
+        "xyz.openbmc_project.Inventory.Item.Board.Motherboard"};
+
+    const types::MapperGetObject& objectMap =
+        dbusUtility::getObjectMap(mboardPath, interfaces);
+
+    if (objectMap.empty())
+    {
+        return false;
+    }
+    return true;
+}
+
+std::string Worker::getIMValue(const types::IPZVpdMap& parsedVpd) const
+{
+    if (parsedVpd.empty())
+    {
+        throw std::runtime_error("Empty VPD map. Can't Extract IM value");
+    }
+
+    const auto& itrToVSBP = parsedVpd.find("VSBP");
+    if (itrToVSBP == parsedVpd.end())
+    {
+        throw DataException("VSBP record missing.");
+    }
+
+    const auto& itrToIM = (itrToVSBP->second).find("IM");
+    if (itrToIM == (itrToVSBP->second).end())
+    {
+        throw DataException("IM keyword missing.");
+    }
+
+    types::BinaryVector imVal;
+    std::copy(itrToIM->second.begin(), itrToIM->second.end(),
+              back_inserter(imVal));
+
+    std::ostringstream imData;
+    for (auto& aByte : imVal)
+    {
+        imData << std::setw(2) << std::setfill('0') << std::hex
+               << static_cast<int>(aByte);
+    }
+
+    return imData.str();
+}
+
+std::string Worker::getHWVersion(const types::IPZVpdMap& parsedVpd) const
+{
+    if (parsedVpd.empty())
+    {
+        throw std::runtime_error("Empty VPD map. Can't Extract HW value");
+    }
+
+    const auto& itrToVINI = parsedVpd.find("VINI");
+    if (itrToVINI == parsedVpd.end())
+    {
+        throw DataException("VINI record missing.");
+    }
+
+    const auto& itrToHW = (itrToVINI->second).find("HW");
+    if (itrToHW == (itrToVINI->second).end())
+    {
+        throw DataException("HW keyword missing.");
+    }
+
+    types::BinaryVector hwVal;
+    std::copy(itrToHW->second.begin(), itrToHW->second.end(),
+              back_inserter(hwVal));
+
+    // The planar pass only comes from the LSB of the HW keyword,
+    // where as the MSB is used for other purposes such as signifying clock
+    // termination.
+    hwVal[0] = 0x00;
+
+    std::ostringstream hwString;
+    for (auto& aByte : hwVal)
+    {
+        hwString << std::setw(2) << std::setfill('0') << std::hex
+                 << static_cast<int>(aByte);
+    }
+
+    return hwString.str();
+}
+
+void Worker::fillVPDMap(const std::string& vpdFilePath,
+                        types::VPDMapVariant& vpdMap)
+{
+    logging::logMessage(std::string("Parsing file = ") + vpdFilePath);
+
+    if (vpdFilePath.empty())
+    {
+        throw std::runtime_error("Invalid file path passed to fillVPDMap API.");
+    }
+
+    if (!std::filesystem::exists(vpdFilePath))
+    {
+        throw std::runtime_error("Can't Find physical file");
+    }
+
+    try
+    {
+        std::shared_ptr<Parser> vpdParser =
+            std::make_shared<Parser>(vpdFilePath, m_parsedJson);
+        vpdMap = vpdParser->parse();
+    }
+    catch (const std::exception& ex)
+    {
+        if (typeid(ex) == std::type_index(typeid(DataException)))
+        {
+            // TODO: Do what needs to be done in case of Data exception.
+            // Uncomment when PEL implementation goes in.
+            /* string errorMsg =
+                 "VPD file is either empty or invalid. Parser failed for [";
+             errorMsg += m_vpdFilePath;
+             errorMsg += "], with error = " + std::string(ex.what());
+
+             additionalData.emplace("DESCRIPTION", errorMsg);
+             additionalData.emplace("CALLOUT_INVENTORY_PATH",
+                                    INVENTORY_PATH + baseFruInventoryPath);
+             createPEL(additionalData, pelSeverity, errIntfForInvalidVPD,
+             nullptr);*/
+
+            // throw generic error from here to inform main caller about
+            // failure.
+            logging::logMessage(ex.what());
+            throw std::runtime_error(
+                "Data Exception occurred for file path = " + vpdFilePath);
+        }
+
+        if (typeid(ex) == std::type_index(typeid(EccException)))
+        {
+            // TODO: Do what needs to be done in case of ECC exception.
+            // Uncomment when PEL implementation goes in.
+            /* additionalData.emplace("DESCRIPTION", "ECC check failed");
+             additionalData.emplace("CALLOUT_INVENTORY_PATH",
+                                    INVENTORY_PATH + baseFruInventoryPath);
+             createPEL(additionalData, pelSeverity, errIntfForEccCheckFail,
+                       nullptr);
+             */
+
+            logging::logMessage(ex.what());
+            // Need to decide once all error handling is implemented.
+            // vpdSpecificUtility::dumpBadVpd(vpdFilePath,vpdVector);
+
+            // throw generic error from here to inform main caller about
+            // failure.
+            throw std::runtime_error(
+                "Ecc Exception occurred for file path = " + vpdFilePath);
+        }
+    }
+}
+
+void Worker::getSystemJson(std::string& systemJson,
+                           const types::VPDMapVariant& parsedVpdMap)
+{
+    if (auto pVal = std::get_if<types::IPZVpdMap>(&parsedVpdMap))
+    {
+        std::string hwKWdValue = getHWVersion(*pVal);
+        if (hwKWdValue.empty())
+        {
+            throw DataException("HW value fetched is empty.");
+        }
+
+        const std::string& imKwdValue = getIMValue(*pVal);
+        if (imKwdValue.empty())
+        {
+            throw DataException("IM value fetched is empty.");
+        }
+
+        auto itrToIM = config::systemType.find(imKwdValue);
+        if (itrToIM == config::systemType.end())
+        {
+            throw DataException("IM keyword does not map to any system type");
+        }
+
+        const types::HWVerList hwVersionList = itrToIM->second.second;
+        if (!hwVersionList.empty())
+        {
+            transform(hwKWdValue.begin(), hwKWdValue.end(), hwKWdValue.begin(),
+                      ::toupper);
+
+            auto itrToHW =
+                std::find_if(hwVersionList.begin(), hwVersionList.end(),
+                             [&hwKWdValue](const auto& aPair) {
+                                 return aPair.first == hwKWdValue;
+                             });
+
+            if (itrToHW != hwVersionList.end())
+            {
+                if (!(*itrToHW).second.empty())
+                {
+                    systemJson += (*itrToIM).first + "_" + (*itrToHW).second +
+                                  ".json";
+                }
+                else
+                {
+                    systemJson += (*itrToIM).first + ".json";
+                }
+                return;
+            }
+        }
+        systemJson += itrToIM->second.first + ".json";
+        return;
+    }
+
+    throw DataException("Invalid VPD type returned from Parser");
+}
+
+static void setEnvAndReboot(const std::string& key, const std::string& value)
+{
+    // set env and reboot and break.
+    commonUtility::executeCmd("/sbin/fw_setenv", key, value);
+    logging::logMessage("Rebooting BMC to pick up new device tree");
+
+    // make dbus call to reboot
+    auto bus = sdbusplus::bus::new_default_system();
+    auto method = bus.new_method_call(
+        "org.freedesktop.systemd1", "/org/freedesktop/systemd1",
+        "org.freedesktop.systemd1.Manager", "Reboot");
+    bus.call_noreply(method);
+}
+
+void Worker::setJsonSymbolicLink(const std::string& i_systemJson)
+{
+    std::error_code l_ec;
+    l_ec.clear();
+    if (!std::filesystem::exists(VPD_SYMLIMK_PATH, l_ec))
+    {
+        if (l_ec)
+        {
+            throw std::runtime_error(
+                "File system call to exist failed with error = " +
+                l_ec.message());
+        }
+
+        // implies it is a fresh boot/factory reset.
+        // Create the directory for hosting the symlink
+        if (!std::filesystem::create_directories(VPD_SYMLIMK_PATH, l_ec))
+        {
+            if (l_ec)
+            {
+                throw std::runtime_error(
+                    "File system call to create directory failed with error = " +
+                    l_ec.message());
+            }
+        }
+    }
+
+    // create a new symlink based on the system
+    std::filesystem::create_symlink(i_systemJson, INVENTORY_JSON_SYM_LINK,
+                                    l_ec);
+
+    if (l_ec)
+    {
+        throw std::runtime_error(
+            "create_symlink system call failed with error: " + l_ec.message());
+    }
+
+    // If the flow is at this point implies the symlink was not present there.
+    // Considering this as factory reset.
+    m_isFactoryResetDone = true;
+}
+
+void Worker::setDeviceTreeAndJson()
+{
+    // JSON is madatory for processing of this API.
+    if (m_parsedJson.empty())
+    {
+        throw std::runtime_error("JSON is empty");
+    }
+
+    types::VPDMapVariant parsedVpdMap;
+    fillVPDMap(SYSTEM_VPD_FILE_PATH, parsedVpdMap);
+
+    // Implies it is default JSON.
+    std::string systemJson{JSON_ABSOLUTE_PATH_PREFIX};
+
+    // ToDo: Need to check if INVENTORY_JSON_SYM_LINK pointing to correct system
+    // This is required to support movement from rainier to Blue Ridge on the
+    // fly.
+
+    // Do we have the entry for device tree in parsed JSON?
+    if (m_parsedJson.find("devTree") == m_parsedJson.end())
+    {
+        getSystemJson(systemJson, parsedVpdMap);
+
+        if (!systemJson.compare(JSON_ABSOLUTE_PATH_PREFIX))
+        {
+            // TODO: Log a PEL saying that "System type not supported"
+            throw DataException("Error in getting system JSON.");
+        }
+
+        // re-parse the JSON once appropriate JSON has been selected.
+        try
+        {
+            m_parsedJson = jsonUtility::getParsedJson(systemJson);
+        }
+        catch (const nlohmann::json::parse_error& ex)
+        {
+            throw(JsonException("Json parsing failed", systemJson));
+        }
+    }
+
+    std::string devTreeFromJson;
+    if (m_parsedJson.contains("devTree"))
+    {
+        devTreeFromJson = m_parsedJson["devTree"];
+
+        if (devTreeFromJson.empty())
+        {
+            // TODO:: Log a predictive PEL
+            logging::logMessage(
+                "Mandatory value for device tree missing from JSON[" +
+                std::string(INVENTORY_JSON_SYM_LINK) + "]");
+        }
+    }
+
+    auto fitConfigVal = readFitConfigValue();
+
+    if (devTreeFromJson.empty() ||
+        fitConfigVal.find(devTreeFromJson) != std::string::npos)
+    { // Skipping setting device tree as either devtree info is missing from
+      // Json or it is rightly set.
+
+        // avoid setting symlink on every reboot.
+        if (!m_isSymlinkPresent)
+        {
+            setJsonSymbolicLink(systemJson);
+        }
+
+        if (isSystemVPDOnDBus() &&
+            jsonUtility::isBackupAndRestoreRequired(m_parsedJson))
+        {
+            performBackupAndRestore(parsedVpdMap);
+        }
+
+        // proceed to publish system VPD.
+        publishSystemVPD(parsedVpdMap);
+        return;
+    }
+
+    setEnvAndReboot("fitconfig", devTreeFromJson);
+    exit(EXIT_SUCCESS);
+}
+
+void Worker::populateIPZVPDpropertyMap(
+    types::InterfaceMap& interfacePropMap,
+    const types::IPZKwdValueMap& keyordValueMap,
+    const std::string& interfaceName)
+{
+    types::PropertyMap propertyValueMap;
+    for (const auto& kwdVal : keyordValueMap)
+    {
+        auto kwd = kwdVal.first;
+
+        if (kwd[0] == '#')
+        {
+            kwd = std::string("PD_") + kwd[1];
+        }
+        else if (isdigit(kwd[0]))
+        {
+            kwd = std::string("N_") + kwd;
+        }
+
+        types::BinaryVector value(kwdVal.second.begin(), kwdVal.second.end());
+        propertyValueMap.emplace(move(kwd), move(value));
+    }
+
+    if (!propertyValueMap.empty())
+    {
+        interfacePropMap.emplace(interfaceName, propertyValueMap);
+    }
+}
+
+void Worker::populateKwdVPDpropertyMap(const types::KeywordVpdMap& keyordVPDMap,
+                                       types::InterfaceMap& interfaceMap)
+{
+    for (const auto& kwdValMap : keyordVPDMap)
+    {
+        types::PropertyMap propertyValueMap;
+        auto kwd = kwdValMap.first;
+
+        if (kwd[0] == '#')
+        {
+            kwd = std::string("PD_") + kwd[1];
+        }
+        else if (isdigit(kwd[0]))
+        {
+            kwd = std::string("N_") + kwd;
+        }
+
+        if (auto keywordValue = get_if<types::BinaryVector>(&kwdValMap.second))
+        {
+            types::BinaryVector value((*keywordValue).begin(),
+                                      (*keywordValue).end());
+            propertyValueMap.emplace(move(kwd), move(value));
+        }
+        else if (auto keywordValue = get_if<std::string>(&kwdValMap.second))
+        {
+            types::BinaryVector value((*keywordValue).begin(),
+                                      (*keywordValue).end());
+            propertyValueMap.emplace(move(kwd), move(value));
+        }
+        else if (auto keywordValue = get_if<size_t>(&kwdValMap.second))
+        {
+            if (kwd == "MemorySizeInKB")
+            {
+                types::PropertyMap memProp;
+                memProp.emplace(move(kwd), ((*keywordValue)));
+                interfaceMap.emplace("xyz.openbmc_project.Inventory.Item.Dimm",
+                                     move(memProp));
+                continue;
+            }
+            else
+            {
+                logging::logMessage(
+                    "Unknown Keyword =" + kwd + " found in keyword VPD map");
+                continue;
+            }
+        }
+        else
+        {
+            logging::logMessage(
+                "Unknown variant type found in keyword VPD map.");
+            continue;
+        }
+
+        if (!propertyValueMap.empty())
+        {
+            vpdSpecificUtility::insertOrMerge(
+                interfaceMap, constants::kwdVpdInf, move(propertyValueMap));
+        }
+    }
+}
+
+void Worker::populateInterfaces(const nlohmann::json& interfaceJson,
+                                types::InterfaceMap& interfaceMap,
+                                const types::VPDMapVariant& parsedVpdMap)
+{
+    for (const auto& interfacesPropPair : interfaceJson.items())
+    {
+        const std::string& interface = interfacesPropPair.key();
+        types::PropertyMap propertyMap;
+
+        for (const auto& propValuePair : interfacesPropPair.value().items())
+        {
+            const std::string property = propValuePair.key();
+
+            if (propValuePair.value().is_boolean())
+            {
+                propertyMap.emplace(property,
+                                    propValuePair.value().get<bool>());
+            }
+            else if (propValuePair.value().is_string())
+            {
+                if (property.compare("LocationCode") == 0 &&
+                    interface.compare("com.ibm.ipzvpd.Location") == 0)
+                {
+                    std::string value =
+                        vpdSpecificUtility::getExpandedLocationCode(
+                            propValuePair.value().get<std::string>(),
+                            parsedVpdMap);
+                    propertyMap.emplace(property, value);
+
+                    auto l_locCodeProperty = propertyMap;
+                    vpdSpecificUtility::insertOrMerge(
+                        interfaceMap,
+                        std::string(constants::xyzLocationCodeInf),
+                        move(l_locCodeProperty));
+                }
+                else
+                {
+                    propertyMap.emplace(
+                        property, propValuePair.value().get<std::string>());
+                }
+            }
+            else if (propValuePair.value().is_array())
+            {
+                try
+                {
+                    propertyMap.emplace(
+                        property,
+                        propValuePair.value().get<types::BinaryVector>());
+                }
+                catch (const nlohmann::detail::type_error& e)
+                {
+                    std::cerr << "Type exception: " << e.what() << "\n";
+                }
+            }
+            else if (propValuePair.value().is_number())
+            {
+                // For now assume the value is a size_t.  In the future it would
+                // be nice to come up with a way to get the type from the JSON.
+                propertyMap.emplace(property,
+                                    propValuePair.value().get<size_t>());
+            }
+            else if (propValuePair.value().is_object())
+            {
+                const std::string& record =
+                    propValuePair.value().value("recordName", "");
+                const std::string& keyword =
+                    propValuePair.value().value("keywordName", "");
+                const std::string& encoding =
+                    propValuePair.value().value("encoding", "");
+
+                if (auto ipzVpdMap =
+                        std::get_if<types::IPZVpdMap>(&parsedVpdMap))
+                {
+                    if (!record.empty() && !keyword.empty() &&
+                        (*ipzVpdMap).count(record) &&
+                        (*ipzVpdMap).at(record).count(keyword))
+                    {
+                        auto encoded = vpdSpecificUtility::encodeKeyword(
+                            ((*ipzVpdMap).at(record).at(keyword)), encoding);
+                        propertyMap.emplace(property, encoded);
+                    }
+                }
+                else if (auto kwdVpdMap =
+                             std::get_if<types::KeywordVpdMap>(&parsedVpdMap))
+                {
+                    if (!keyword.empty() && (*kwdVpdMap).count(keyword))
+                    {
+                        if (auto kwValue = std::get_if<types::BinaryVector>(
+                                &(*kwdVpdMap).at(keyword)))
+                        {
+                            auto encodedValue =
+                                vpdSpecificUtility::encodeKeyword(
+                                    std::string((*kwValue).begin(),
+                                                (*kwValue).end()),
+                                    encoding);
+
+                            propertyMap.emplace(property, encodedValue);
+                        }
+                        else if (auto kwValue = std::get_if<std::string>(
+                                     &(*kwdVpdMap).at(keyword)))
+                        {
+                            auto encodedValue =
+                                vpdSpecificUtility::encodeKeyword(
+                                    std::string((*kwValue).begin(),
+                                                (*kwValue).end()),
+                                    encoding);
+
+                            propertyMap.emplace(property, encodedValue);
+                        }
+                        else if (auto uintValue = std::get_if<size_t>(
+                                     &(*kwdVpdMap).at(keyword)))
+                        {
+                            propertyMap.emplace(property, *uintValue);
+                        }
+                        else
+                        {
+                            logging::logMessage(
+                                "Unknown keyword found, Keywrod = " + keyword);
+                        }
+                    }
+                }
+            }
+        }
+        vpdSpecificUtility::insertOrMerge(interfaceMap, interface,
+                                          move(propertyMap));
+    }
+}
+
+bool Worker::isCPUIOGoodOnly(const std::string& i_pgKeyword)
+{
+    const unsigned char l_io[] = {
+        0xE7, 0xF9, 0xFF, 0xE7, 0xF9, 0xFF, 0xE7, 0xF9, 0xFF, 0xE7, 0xF9, 0xFF,
+        0xE7, 0xF9, 0xFF, 0xE7, 0xF9, 0xFF, 0xE7, 0xF9, 0xFF, 0xE7, 0xF9, 0xFF};
+
+    // EQ0 index (in PG keyword) starts at 97 (with offset starting from 0).
+    // Each EQ carries 3 bytes of data. Totally there are 8 EQs. If all EQs'
+    // value equals 0xE7F9FF, then the cpu has no good cores and its treated as
+    // IO.
+    if (memcmp(l_io, i_pgKeyword.data() + constants::INDEX_OF_EQ0_IN_PG,
+               constants::SIZE_OF_8EQ_IN_PG) == 0)
+    {
+        return true;
+    }
+
+    // The CPU is not an IO
+    return false;
+}
+
+bool Worker::primeInventory(const std::string& i_vpdFilePath)
+{
+    if (i_vpdFilePath.empty())
+    {
+        logging::logMessage("Empty VPD file path given");
+        return false;
+    }
+
+    if (m_parsedJson.empty())
+    {
+        logging::logMessage("Empty JSON detected for " + i_vpdFilePath);
+        return false;
+    }
+    else if (!m_parsedJson["frus"].contains(i_vpdFilePath))
+    {
+        logging::logMessage("File " + i_vpdFilePath +
+                            ", is not found in the system config JSON file.");
+        return false;
+    }
+
+    types::ObjectMap l_objectInterfaceMap;
+    for (const auto& l_Fru : m_parsedJson["frus"][i_vpdFilePath])
+    {
+        types::InterfaceMap l_interfaces;
+        sdbusplus::message::object_path l_fruObjectPath(l_Fru["inventoryPath"]);
+
+        if (l_Fru.contains("ccin"))
+        {
+            continue;
+        }
+
+        if (l_Fru.contains("noprime") && l_Fru.value("noprime", false))
+        {
+            continue;
+        }
+
+        // Clear data under PIM if already exists.
+        vpdSpecificUtility::resetDataUnderPIM(
+            std::string(l_Fru["inventoryPath"]), l_interfaces);
+
+        // Add extra interfaces mentioned in the Json config file
+        if (l_Fru.contains("extraInterfaces"))
+        {
+            populateInterfaces(l_Fru["extraInterfaces"], l_interfaces,
+                               std::monostate{});
+        }
+
+        types::PropertyMap l_propertyValueMap;
+        l_propertyValueMap.emplace("Present", false);
+        if (std::filesystem::exists(i_vpdFilePath))
+        {
+            l_propertyValueMap["Present"] = true;
+        }
+
+        vpdSpecificUtility::insertOrMerge(l_interfaces,
+                                          "xyz.openbmc_project.Inventory.Item",
+                                          move(l_propertyValueMap));
+
+        if (l_Fru.value("inherit", true) &&
+            m_parsedJson.contains("commonInterfaces"))
+        {
+            populateInterfaces(m_parsedJson["commonInterfaces"], l_interfaces,
+                               std::monostate{});
+        }
+
+        processFunctionalProperty(l_Fru["inventoryPath"], l_interfaces);
+        processEnabledProperty(l_Fru["inventoryPath"], l_interfaces);
+
+        l_objectInterfaceMap.emplace(std::move(l_fruObjectPath),
+                                     std::move(l_interfaces));
+    }
+
+    // Notify PIM
+    if (!dbusUtility::callPIM(move(l_objectInterfaceMap)))
+    {
+        logging::logMessage("Call to PIM failed for VPD file " + i_vpdFilePath);
+        return false;
+    }
+
+    return true;
+}
+
+void Worker::processEmbeddedAndSynthesizedFrus(const nlohmann::json& singleFru,
+                                               types::InterfaceMap& interfaces)
+{
+    // embedded property(true or false) says whether the subfru is embedded
+    // into the parent fru (or) not. VPD sets Present property only for
+    // embedded frus. If the subfru is not an embedded FRU, the subfru may
+    // or may not be physically present. Those non embedded frus will always
+    // have Present=false irrespective of its physical presence or absence.
+    // Eg: nvme drive in nvme slot is not an embedded FRU. So don't set
+    // Present to true for such sub frus.
+    // Eg: ethernet port is embedded into bmc card. So set Present to true
+    // for such sub frus. Also donot populate present property for embedded
+    // subfru which is synthesized. Currently there is no subfru which are
+    // both embedded and synthesized. But still the case is handled here.
+
+    // Check if its required to handle presence for this FRU.
+    if (singleFru.value("handlePresence", true))
+    {
+        types::PropertyMap presProp;
+        presProp.emplace("Present", true);
+        vpdSpecificUtility::insertOrMerge(
+            interfaces, "xyz.openbmc_project.Inventory.Item", move(presProp));
+    }
+}
+
+void Worker::processExtraInterfaces(const nlohmann::json& singleFru,
+                                    types::InterfaceMap& interfaces,
+                                    const types::VPDMapVariant& parsedVpdMap)
+{
+    populateInterfaces(singleFru["extraInterfaces"], interfaces, parsedVpdMap);
+    if (auto ipzVpdMap = std::get_if<types::IPZVpdMap>(&parsedVpdMap))
+    {
+        if (singleFru["extraInterfaces"].contains(
+                "xyz.openbmc_project.Inventory.Item.Cpu"))
+        {
+            auto itrToRec = (*ipzVpdMap).find("CP00");
+            if (itrToRec == (*ipzVpdMap).end())
+            {
+                return;
+            }
+
+            std::string pgKeywordValue;
+            vpdSpecificUtility::getKwVal(itrToRec->second, "PG",
+                                         pgKeywordValue);
+            if (!pgKeywordValue.empty())
+            {
+                if (isCPUIOGoodOnly(pgKeywordValue))
+                {
+                    interfaces["xyz.openbmc_project.Inventory.Item"]
+                              ["PrettyName"] = "IO Module";
+                }
+            }
+        }
+    }
+}
+
+void Worker::processCopyRecordFlag(const nlohmann::json& singleFru,
+                                   const types::VPDMapVariant& parsedVpdMap,
+                                   types::InterfaceMap& interfaces)
+{
+    if (auto ipzVpdMap = std::get_if<types::IPZVpdMap>(&parsedVpdMap))
+    {
+        for (const auto& record : singleFru["copyRecords"])
+        {
+            const std::string& recordName = record;
+            if ((*ipzVpdMap).find(recordName) != (*ipzVpdMap).end())
+            {
+                populateIPZVPDpropertyMap(interfaces,
+                                          (*ipzVpdMap).at(recordName),
+                                          constants::ipzVpdInf + recordName);
+            }
+        }
+    }
+}
+
+void Worker::processInheritFlag(const types::VPDMapVariant& parsedVpdMap,
+                                types::InterfaceMap& interfaces)
+{
+    if (auto ipzVpdMap = std::get_if<types::IPZVpdMap>(&parsedVpdMap))
+    {
+        for (const auto& [recordName, kwdValueMap] : *ipzVpdMap)
+        {
+            populateIPZVPDpropertyMap(interfaces, kwdValueMap,
+                                      constants::ipzVpdInf + recordName);
+        }
+    }
+    else if (auto kwdVpdMap = std::get_if<types::KeywordVpdMap>(&parsedVpdMap))
+    {
+        populateKwdVPDpropertyMap(*kwdVpdMap, interfaces);
+    }
+
+    if (m_parsedJson.contains("commonInterfaces"))
+    {
+        populateInterfaces(m_parsedJson["commonInterfaces"], interfaces,
+                           parsedVpdMap);
+    }
+}
+
+bool Worker::processFruWithCCIN(const nlohmann::json& singleFru,
+                                const types::VPDMapVariant& parsedVpdMap)
+{
+    if (auto ipzVPDMap = std::get_if<types::IPZVpdMap>(&parsedVpdMap))
+    {
+        auto itrToRec = (*ipzVPDMap).find("VINI");
+        if (itrToRec == (*ipzVPDMap).end())
+        {
+            return false;
+        }
+
+        std::string ccinFromVpd;
+        vpdSpecificUtility::getKwVal(itrToRec->second, "CC", ccinFromVpd);
+        if (ccinFromVpd.empty())
+        {
+            return false;
+        }
+
+        transform(ccinFromVpd.begin(), ccinFromVpd.end(), ccinFromVpd.begin(),
+                  ::toupper);
+
+        std::vector<std::string> ccinList;
+        for (std::string ccin : singleFru["ccin"])
+        {
+            transform(ccin.begin(), ccin.end(), ccin.begin(), ::toupper);
+            ccinList.push_back(ccin);
+        }
+
+        if (ccinList.empty())
+        {
+            return false;
+        }
+
+        if (find(ccinList.begin(), ccinList.end(), ccinFromVpd) ==
+            ccinList.end())
+        {
+            return false;
+        }
+    }
+    return true;
+}
+
+void Worker::processFunctionalProperty(const std::string& i_inventoryObjPath,
+                                       types::InterfaceMap& io_interfaces)
+{
+    if (!dbusUtility::isChassisPowerOn())
+    {
+        std::array<const char*, 1> l_operationalStatusInf = {
+            constants::operationalStatusInf};
+
+        auto mapperObjectMap = dbusUtility::getObjectMap(
+            i_inventoryObjPath, l_operationalStatusInf);
+
+        // If the object has been found. Check if it is under PIM.
+        if (mapperObjectMap.size() != 0)
+        {
+            for (const auto& [l_serviceName, l_interfaceLsit] : mapperObjectMap)
+            {
+                if (l_serviceName == constants::pimServiceName)
+                {
+                    // The object is already under PIM. No need to process
+                    // again. Retain the old value.
+                    return;
+                }
+            }
+        }
+
+        // Implies value is not there in D-Bus. Populate it with default
+        // value "true".
+        types::PropertyMap l_functionalProp;
+        l_functionalProp.emplace("Functional", true);
+        vpdSpecificUtility::insertOrMerge(io_interfaces,
+                                          constants::operationalStatusInf,
+                                          move(l_functionalProp));
+    }
+
+    // if chassis is power on. Functional property should be there on D-Bus.
+    // Don't process.
+    return;
+}
+
+void Worker::processEnabledProperty(const std::string& i_inventoryObjPath,
+                                    types::InterfaceMap& io_interfaces)
+{
+    if (!dbusUtility::isChassisPowerOn())
+    {
+        std::array<const char*, 1> l_enableInf = {constants::enableInf};
+
+        auto mapperObjectMap =
+            dbusUtility::getObjectMap(i_inventoryObjPath, l_enableInf);
+
+        // If the object has been found. Check if it is under PIM.
+        if (mapperObjectMap.size() != 0)
+        {
+            for (const auto& [l_serviceName, l_interfaceLsit] : mapperObjectMap)
+            {
+                if (l_serviceName == constants::pimServiceName)
+                {
+                    // The object is already under PIM. No need to process
+                    // again. Retain the old value.
+                    return;
+                }
+            }
+        }
+
+        // Implies value is not there in D-Bus. Populate it with default
+        // value "true".
+        types::PropertyMap l_enabledProp;
+        l_enabledProp.emplace("Enabled", true);
+        vpdSpecificUtility::insertOrMerge(io_interfaces, constants::enableInf,
+                                          move(l_enabledProp));
+    }
+
+    // if chassis is power on. Enabled property should be there on D-Bus.
+    // Don't process.
+    return;
+}
+
+void Worker::populateDbus(const types::VPDMapVariant& parsedVpdMap,
+                          types::ObjectMap& objectInterfaceMap,
+                          const std::string& vpdFilePath)
+{
+    if (vpdFilePath.empty())
+    {
+        throw std::runtime_error(
+            "Invalid parameter passed to populateDbus API.");
+    }
+
+    // JSON config is mandatory for processing of "if". Add "else" for any
+    // processing without config JSON.
+    if (!m_parsedJson.empty())
+    {
+        types::InterfaceMap interfaces;
+
+        for (const auto& aFru : m_parsedJson["frus"][vpdFilePath])
+        {
+            const auto& inventoryPath = aFru["inventoryPath"];
+            sdbusplus::message::object_path fruObjectPath(inventoryPath);
+            if (aFru.contains("ccin"))
+            {
+                if (!processFruWithCCIN(aFru, parsedVpdMap))
+                {
+                    continue;
+                }
+            }
+
+            if (aFru.value("inherit", true))
+            {
+                processInheritFlag(parsedVpdMap, interfaces);
+            }
+
+            // If specific record needs to be copied.
+            if (aFru.contains("copyRecords"))
+            {
+                processCopyRecordFlag(aFru, parsedVpdMap, interfaces);
+            }
+
+            if (aFru.contains("extraInterfaces"))
+            {
+                // Process extra interfaces w.r.t a FRU.
+                processExtraInterfaces(aFru, interfaces, parsedVpdMap);
+            }
+
+            // Process FRUS which are embedded in the parent FRU and whose VPD
+            // will be synthesized.
+            if ((aFru.value("embedded", true)) &&
+                (!aFru.value("synthesized", false)))
+            {
+                processEmbeddedAndSynthesizedFrus(aFru, interfaces);
+            }
+
+            processFunctionalProperty(inventoryPath, interfaces);
+            processEnabledProperty(inventoryPath, interfaces);
+
+            objectInterfaceMap.emplace(std::move(fruObjectPath),
+                                       std::move(interfaces));
+        }
+    }
+}
+
+std::string
+    Worker::createAssetTagString(const types::VPDMapVariant& i_parsedVpdMap)
+{
+    std::string l_assetTag;
+
+    // system VPD will be in IPZ format.
+    if (auto l_parsedVpdMap = std::get_if<types::IPZVpdMap>(&i_parsedVpdMap))
+    {
+        auto l_itrToVsys = (*l_parsedVpdMap).find(constants::recVSYS);
+        if (l_itrToVsys != (*l_parsedVpdMap).end())
+        {
+            std::string l_tmKwdValue;
+            vpdSpecificUtility::getKwVal(l_itrToVsys->second, constants::kwdTM,
+                                         l_tmKwdValue);
+
+            std::string l_seKwdValue;
+            vpdSpecificUtility::getKwVal(l_itrToVsys->second, constants::kwdSE,
+                                         l_seKwdValue);
+
+            l_assetTag = std::string{"Server-"} + l_tmKwdValue +
+                         std::string{"-"} + l_seKwdValue;
+        }
+        else
+        {
+            throw std::runtime_error(
+                "VSYS record not found in parsed VPD map to create Asset tag.");
+        }
+    }
+    else
+    {
+        throw std::runtime_error(
+            "Invalid VPD type recieved to create Asset tag.");
+    }
+
+    return l_assetTag;
+}
+
+void Worker::publishSystemVPD(const types::VPDMapVariant& parsedVpdMap)
+{
+    types::ObjectMap objectInterfaceMap;
+
+    if (std::get_if<types::IPZVpdMap>(&parsedVpdMap))
+    {
+        populateDbus(parsedVpdMap, objectInterfaceMap, SYSTEM_VPD_FILE_PATH);
+
+        try
+        {
+            if (m_isFactoryResetDone)
+            {
+                const auto& l_assetTag = createAssetTagString(parsedVpdMap);
+
+                auto l_itrToSystemPath = objectInterfaceMap.find(
+                    sdbusplus::message::object_path(constants::systemInvPath));
+                if (l_itrToSystemPath == objectInterfaceMap.end())
+                {
+                    throw std::runtime_error(
+                        "System Path not found in object map.");
+                }
+
+                types::PropertyMap l_assetTagProperty;
+                l_assetTagProperty.emplace("AssetTag", l_assetTag);
+
+                (l_itrToSystemPath->second)
+                    .emplace(constants::assetTagInf,
+                             std::move(l_assetTagProperty));
+            }
+        }
+        catch (const std::exception& l_ex)
+        {
+            EventLogger::createSyncPel(
+                types::ErrorType::InvalidVpdMessage,
+                types::SeverityType::Informational, __FILE__, __FUNCTION__, 0,
+                "Asset tag update failed with following error: " +
+                    std::string(l_ex.what()),
+                std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+        }
+
+        // Notify PIM
+        if (!dbusUtility::callPIM(move(objectInterfaceMap)))
+        {
+            throw std::runtime_error("Call to PIM failed for system VPD");
+        }
+    }
+    else
+    {
+        throw DataException("Invalid format of parsed VPD map.");
+    }
+}
+
+bool Worker::processPreAction(const std::string& i_vpdFilePath,
+                              const std::string& i_flagToProcess)
+{
+    if (i_vpdFilePath.empty() || i_flagToProcess.empty())
+    {
+        logging::logMessage(
+            "Invalid input parameter. Abort processing pre action");
+        return false;
+    }
+
+    if ((!jsonUtility::executeBaseAction(m_parsedJson, "preAction",
+                                         i_vpdFilePath, i_flagToProcess)) &&
+        (i_flagToProcess.compare("collection") == constants::STR_CMP_SUCCESS))
+    {
+        // TODO: Need a way to delete inventory object from Dbus and persisted
+        // data section in case any FRU is not present or there is any
+        // problem in collecting it. Once it has been deleted, it can be
+        // re-created in the flow of priming the inventory. This needs to be
+        // done either here or in the exception section of "parseAndPublishVPD"
+        // API. Any failure in the process of collecting FRU will land up in the
+        // excpetion of "parseAndPublishVPD".
+
+        // If the FRU is not there, clear the VINI/CCIN data.
+        // Enity manager probes for this keyword to look for this
+        // FRU, now if the data is persistent on BMC and FRU is
+        // removed this can lead to ambiguity. Hence clearing this
+        // Keyword if FRU is absent.
+        const auto& inventoryPath =
+            m_parsedJson["frus"][i_vpdFilePath].at(0).value("inventoryPath",
+                                                            "");
+
+        if (!inventoryPath.empty())
+        {
+            types::ObjectMap l_pimObjMap{
+                {inventoryPath,
+                 {{constants::kwdVpdInf,
+                   {{constants::kwdCCIN, types::BinaryVector{}}}}}}};
+
+            if (!dbusUtility::callPIM(std::move(l_pimObjMap)))
+            {
+                logging::logMessage(
+                    "Call to PIM failed for file " + i_vpdFilePath);
+            }
+        }
+        else
+        {
+            logging::logMessage(
+                "Inventory path is empty in Json for file " + i_vpdFilePath);
+        }
+
+        return false;
+    }
+    return true;
+}
+
+bool Worker::processPostAction(
+    const std::string& i_vpdFruPath, const std::string& i_flagToProcess,
+    const std::optional<types::VPDMapVariant> i_parsedVpd)
+{
+    if (i_vpdFruPath.empty() || i_flagToProcess.empty())
+    {
+        logging::logMessage(
+            "Invalid input parameter. Abort processing post action");
+        return false;
+    }
+
+    // Check if post action tag is to be triggered in the flow of collection
+    // based on some CCIN value?
+    if (m_parsedJson["frus"][i_vpdFruPath]
+            .at(0)["postAction"][i_flagToProcess]
+            .contains("ccin"))
+    {
+        if (!i_parsedVpd.has_value())
+        {
+            logging::logMessage("Empty VPD Map");
+            return false;
+        }
+
+        // CCIN match is required to process post action for this FRU as it
+        // contains the flag.
+        if (!vpdSpecificUtility::findCcinInVpd(
+                m_parsedJson["frus"][i_vpdFruPath].at(
+                    0)["postAction"]["collection"],
+                i_parsedVpd.value()))
+        {
+            // If CCIN is not found, implies post action processing is not
+            // required for this FRU. Let the flow continue.
+            return true;
+        }
+    }
+
+    if (!jsonUtility::executeBaseAction(m_parsedJson, "postAction",
+                                        i_vpdFruPath, i_flagToProcess))
+    {
+        logging::logMessage(
+            "Execution of post action failed for path: " + i_vpdFruPath);
+
+        // If post action was required and failed only in that case return
+        // false. In all other case post action is considered passed.
+        return false;
+    }
+
+    return true;
+}
+
+types::VPDMapVariant Worker::parseVpdFile(const std::string& i_vpdFilePath)
+{
+    if (i_vpdFilePath.empty())
+    {
+        throw std::runtime_error(
+            "Empty VPD file path passed to Worker::parseVpdFile. Abort processing");
+    }
+
+    try
+    {
+        if (jsonUtility::isActionRequired(m_parsedJson, i_vpdFilePath,
+                                          "preAction", "collection"))
+        {
+            if (!processPreAction(i_vpdFilePath, "collection"))
+            {
+                throw std::runtime_error("Pre-Action failed");
+            }
+        }
+
+        if (!std::filesystem::exists(i_vpdFilePath))
+        {
+            throw std::runtime_error(
+                "Could not find file path " + i_vpdFilePath +
+                "Skipping parser trigger for the EEPROM");
+        }
+
+        std::shared_ptr<Parser> vpdParser =
+            std::make_shared<Parser>(i_vpdFilePath, m_parsedJson);
+
+        types::VPDMapVariant l_parsedVpd = vpdParser->parse();
+
+        // Before returning, as collection is over, check if FRU qualifies for
+        // any post action in the flow of collection.
+        // Note: Don't change the order, post action needs to be processed only
+        // after collection for FRU is successfully done.
+        if (jsonUtility::isActionRequired(m_parsedJson, i_vpdFilePath,
+                                          "postAction", "collection"))
+        {
+            if (!processPostAction(i_vpdFilePath, "collection", l_parsedVpd))
+            {
+                // TODO: Log PEL
+                logging::logMessage("Required post action failed for path [" +
+                                    i_vpdFilePath + "]");
+            }
+        }
+
+        return l_parsedVpd;
+    }
+    catch (std::exception& l_ex)
+    {
+        // If post fail action is required, execute it.
+        if (jsonUtility::isActionRequired(m_parsedJson, i_vpdFilePath,
+                                          "PostFailAction", "collection"))
+        {
+            if (!jsonUtility::executePostFailAction(m_parsedJson, i_vpdFilePath,
+                                                    "collection"))
+            {
+                // TODO: Log PEL
+                throw std::runtime_error(
+                    "VPD parsing failed for " + i_vpdFilePath +
+                    " due to error: " + l_ex.what() +
+                    ". Post Fail Action also failed, aborting collection for this FRU");
+            }
+        }
+
+        // TODO: Log PEL
+        throw std::runtime_error("VPD parsing failed for " + i_vpdFilePath +
+                                 " due to error: " + l_ex.what());
+    }
+}
+
+std::tuple<bool, std::string>
+    Worker::parseAndPublishVPD(const std::string& i_vpdFilePath)
+{
+    try
+    {
+        m_semaphore.acquire();
+
+        // Thread launched.
+        m_mutex.lock();
+        m_activeCollectionThreadCount++;
+        m_mutex.unlock();
+
+        const types::VPDMapVariant& parsedVpdMap = parseVpdFile(i_vpdFilePath);
+
+        types::ObjectMap objectInterfaceMap;
+        populateDbus(parsedVpdMap, objectInterfaceMap, i_vpdFilePath);
+
+        // logging::logMessage("Dbus sucessfully populated for FRU " +
+        //                     i_vpdFilePath);
+
+        // Notify PIM
+        if (!dbusUtility::callPIM(move(objectInterfaceMap)))
+        {
+            throw std::runtime_error(
+                "Call to PIM failed while publishing VPD.");
+        }
+    }
+    catch (const std::exception& ex)
+    {
+        // handle all the exceptions internally. Return only true/false
+        // based on status of execution.
+        if (typeid(ex) == std::type_index(typeid(DataException)))
+        {
+            // TODO: Add custom handling
+            logging::logMessage(ex.what());
+        }
+        else if (typeid(ex) == std::type_index(typeid(EccException)))
+        {
+            // TODO: Add custom handling
+            logging::logMessage(ex.what());
+        }
+        else if (typeid(ex) == std::type_index(typeid(JsonException)))
+        {
+            // TODO: Add custom handling
+            logging::logMessage(ex.what());
+        }
+        else
+        {
+            logging::logMessage(ex.what());
+        }
+
+        // TODO: Figure out a way to clear data in case of any failure at
+        // runtime.
+        //  Prime the inventry for FRUs which
+        //  are not present/processing had some error.
+        /* if (!primeInventory(i_vpdFilePath))
+         {
+             logging::logMessage("Priming of inventory failed for FRU " +
+                                 i_vpdFilePath);
+         }*/
+        m_semaphore.release();
+        return std::make_tuple(false, i_vpdFilePath);
+    }
+    m_semaphore.release();
+    return std::make_tuple(true, i_vpdFilePath);
+}
+
+void Worker::collectFrusFromJson()
+{
+    // A parsed JSON file should be present to pick FRUs EEPROM paths
+    if (m_parsedJson.empty())
+    {
+        throw std::runtime_error(
+            "A config JSON is required for processing of FRUs");
+    }
+
+    const nlohmann::json& listOfFrus =
+        m_parsedJson["frus"].get_ref<const nlohmann::json::object_t&>();
+
+    for (const auto& itemFRUS : listOfFrus.items())
+    {
+        const std::string& vpdFilePath = itemFRUS.key();
+
+        // skip processing of system VPD again as it has been already collected.
+        // Also, if chassis is powered on, skip collecting FRUs which are
+        // powerOffOnly.
+        // TODO: Need to revisit for P-Future to reduce code update time.
+        if (vpdFilePath == SYSTEM_VPD_FILE_PATH ||
+            (jsonUtility::isFruPowerOffOnly(m_parsedJson, vpdFilePath) &&
+             dbusUtility::isChassisPowerOn()))
+        {
+            continue;
+        }
+
+        std::thread{[vpdFilePath, this]() {
+            auto l_futureObject =
+                std::async(&Worker::parseAndPublishVPD, this, vpdFilePath);
+
+            std::tuple<bool, std::string> l_threadInfo = l_futureObject.get();
+
+            // thread returned.
+            m_mutex.lock();
+            m_activeCollectionThreadCount--;
+            m_mutex.unlock();
+
+            if (!m_activeCollectionThreadCount)
+            {
+                m_isAllFruCollected = true;
+            }
+        }}.detach();
+    }
+}
+
+// ToDo: Move the API under IBM_SYSTEM
+void Worker::performBackupAndRestore(types::VPDMapVariant& io_srcVpdMap)
+{
+    try
+    {
+        std::string l_backupAndRestoreCfgFilePath =
+            m_parsedJson.value("backupRestoreConfigPath", "");
+
+        nlohmann::json l_backupAndRestoreCfgJsonObj =
+            jsonUtility::getParsedJson(l_backupAndRestoreCfgFilePath);
+
+        // check if either of "source" or "destination" has inventory path.
+        // this indicates that this sytem has System VPD on hardware
+        // and other copy on D-Bus (BMC cache).
+        if (!l_backupAndRestoreCfgJsonObj.empty() &&
+            ((l_backupAndRestoreCfgJsonObj.contains("source") &&
+              l_backupAndRestoreCfgJsonObj["source"].contains(
+                  "inventoryPath")) ||
+             (l_backupAndRestoreCfgJsonObj.contains("destination") &&
+              l_backupAndRestoreCfgJsonObj["destination"].contains(
+                  "inventoryPath"))))
+        {
+            BackupAndRestore l_backupAndRestoreObj(m_parsedJson);
+            auto [l_srcVpdVariant,
+                  l_dstVpdVariant] = l_backupAndRestoreObj.backupAndRestore();
+
+            // ToDo: Revisit is this check is required or not.
+            if (auto l_srcVpdMap =
+                    std::get_if<types::IPZVpdMap>(&l_srcVpdVariant);
+                l_srcVpdMap && !(*l_srcVpdMap).empty())
+            {
+                io_srcVpdMap = std::move(l_srcVpdVariant);
+            }
+        }
+    }
+    catch (const std::exception& l_ex)
+    {
+        EventLogger::createSyncPel(
+            types::ErrorType::InvalidVpdMessage,
+            types::SeverityType::Informational, __FILE__, __FUNCTION__, 0,
+            std::string(
+                "Exception caught while backup and restore VPD keyword's.") +
+                l_ex.what(),
+            std::nullopt, std::nullopt, std::nullopt, std::nullopt);
+    }
+}
+
+void Worker::deleteFruVpd(const std::string& i_dbusObjPath)
+{
+    if (i_dbusObjPath.empty())
+    {
+        throw std::runtime_error("Given DBus object path is empty.");
+    }
+
+    const std::string& l_fruPath =
+        jsonUtility::getFruPathFromJson(m_parsedJson, i_dbusObjPath);
+
+    try
+    {
+        auto l_presentPropValue = dbusUtility::readDbusProperty(
+            constants::pimServiceName, i_dbusObjPath,
+            constants::inventoryItemInf, "Present");
+
+        if (auto l_value = std::get_if<bool>(&l_presentPropValue))
+        {
+            if (!(*l_value))
+            {
+                throw std::runtime_error("Given FRU is not present");
+            }
+            else
+            {
+                if (jsonUtility::isActionRequired(m_parsedJson, l_fruPath,
+                                                  "preAction", "deletion"))
+                {
+                    if (!processPreAction(l_fruPath, "deletion"))
+                    {
+                        throw std::runtime_error("Pre action failed");
+                    }
+                }
+
+                std::vector<std::string> l_interfaceList{
+                    constants::operationalStatusInf};
+
+                types::MapperGetSubTree l_subTreeMap =
+                    dbusUtility::getObjectSubTree(i_dbusObjPath, 0,
+                                                  l_interfaceList);
+
+                types::ObjectMap l_objectMap;
+
+                // Updates VPD specific interfaces property value under PIM for
+                // sub FRUs.
+                for (const auto& [l_objectPath, l_serviceInterfaceMap] :
+                     l_subTreeMap)
+                {
+                    types::InterfaceMap l_interfaceMap;
+                    vpdSpecificUtility::resetDataUnderPIM(l_objectPath,
+                                                          l_interfaceMap);
+                    l_objectMap.emplace(l_objectPath,
+                                        std::move(l_interfaceMap));
+                }
+
+                types::InterfaceMap l_interfaceMap;
+                vpdSpecificUtility::resetDataUnderPIM(i_dbusObjPath,
+                                                      l_interfaceMap);
+
+                l_objectMap.emplace(i_dbusObjPath, std::move(l_interfaceMap));
+
+                if (!dbusUtility::callPIM(std::move(l_objectMap)))
+                {
+                    throw std::runtime_error("Call to PIM failed.");
+                }
+
+                if (jsonUtility::isActionRequired(m_parsedJson, l_fruPath,
+                                                  "postAction", "deletion"))
+                {
+                    if (!processPostAction(l_fruPath, "deletion"))
+                    {
+                        throw std::runtime_error("Post action failed");
+                    }
+                }
+            }
+        }
+        else
+        {
+            logging::logMessage(
+                "Can't process delete VPD for FRU [" + i_dbusObjPath +
+                "] as unable to read present property");
+            return;
+        }
+
+        logging::logMessage(
+            "Successfully completed deletion of FRU VPD for " + i_dbusObjPath);
+    }
+    catch (const std::exception& l_ex)
+    {
+        if (jsonUtility::isActionRequired(m_parsedJson, l_fruPath,
+                                          "postFailAction", "deletion"))
+        {
+            if (!jsonUtility::executePostFailAction(m_parsedJson, l_fruPath,
+                                                    "deletion"))
+            {
+                logging::logMessage(
+                    "Post fail action failed for: " + i_dbusObjPath);
+            }
+        }
+
+        logging::logMessage("Failed to delete VPD for FRU : " + i_dbusObjPath +
+                            " error: " + std::string(l_ex.what()));
+    }
+}
+} // namespace vpd
diff --git a/vpd-parser/ipz_parser.cpp b/vpd-parser/ipz_parser.cpp
deleted file mode 100644
index bb4ee2f..0000000
--- a/vpd-parser/ipz_parser.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "ipz_parser.hpp"
-
-#include "impl.hpp"
-
-namespace openpower
-{
-namespace vpd
-{
-namespace ipz
-{
-namespace parser
-{
-using namespace openpower::vpd::parser;
-using namespace openpower::vpd::constants;
-
-std::variant<kwdVpdMap, Store> IpzVpdParser::parse()
-{
-    Impl p(vpd, inventoryPath, vpdFilePath, vpdStartOffset);
-    Store s = p.run();
-    return s;
-}
-
-void IpzVpdParser::processHeader()
-{
-    Impl p(vpd, inventoryPath, vpdFilePath, vpdStartOffset);
-    p.checkVPDHeader();
-}
-
-std::string IpzVpdParser::getInterfaceName() const
-{
-    return ipzVpdInf;
-}
-
-} // namespace parser
-} // namespace ipz
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-parser/ipz_parser.hpp b/vpd-parser/ipz_parser.hpp
deleted file mode 100644
index c4a3e26..0000000
--- a/vpd-parser/ipz_parser.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#pragma once
-
-#include "const.hpp"
-#include "parser_interface.hpp"
-#include "store.hpp"
-#include "types.hpp"
-
-#include <vector>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace ipz
-{
-namespace parser
-{
-
-using ParserInterface = openpower::vpd::parser::interface::ParserInterface;
-using kwdVpdMap = openpower::vpd::inventory::KeywordVpdMap;
-
-class IpzVpdParser : public ParserInterface
-{
-  public:
-    IpzVpdParser() = delete;
-    IpzVpdParser(const IpzVpdParser&) = delete;
-    IpzVpdParser& operator=(const IpzVpdParser&) = delete;
-    IpzVpdParser(IpzVpdParser&&) = delete;
-    IpzVpdParser& operator=(IpzVpdParser&&) = delete;
-    ~IpzVpdParser() = default;
-
-    /**
-     * @brief Constructor
-     * @param[in] - VpdVector - vpd buffer
-     * @param[in] - path - Inventory Path
-     * @param[in] - vpdFilePath - VPD H/w path
-     * @param[in] - vpdStartOffset - VPD starting offset
-     */
-    IpzVpdParser(const Binary& VpdVector, const std::string& path,
-                 const std::string& vpdFilePath, uint32_t vpdStartOffset) :
-        vpd(VpdVector), inventoryPath(path), vpdFilePath(vpdFilePath),
-        vpdStartOffset(vpdStartOffset)
-    {}
-
-    /**
-     * @brief Parse the memory VPD binary data.
-     * Collects and emplace the keyword-value pairs in map.
-     *
-     * @return map of keyword:value
-     */
-    std::variant<kwdVpdMap, Store> parse();
-
-    /**
-     * @brief An api to return interface name with respect to
-     * the parser selected.
-     *
-     * @return - Interface name for that vpd type.
-     */
-    std::string getInterfaceName() const;
-
-    /** @brief API to check vpd header
-     *  @param [in] vpd - VPDheader in binary format
-     */
-    void processHeader();
-
-  private:
-    const Binary& vpd;
-
-    /*Inventory path of the FRU */
-    const std::string inventoryPath;
-
-    /* VPD Path */
-    const std::string vpdFilePath;
-
-    /* Offset */
-    uint32_t vpdStartOffset;
-
-}; // class IpzVpdParser
-
-} // namespace parser
-} // namespace ipz
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-parser/isdimm_vpd_parser.cpp b/vpd-parser/isdimm_vpd_parser.cpp
deleted file mode 100644
index 589dd68..0000000
--- a/vpd-parser/isdimm_vpd_parser.cpp
+++ /dev/null
@@ -1,397 +0,0 @@
-#include "isdimm_vpd_parser.hpp"
-
-#include <iostream>
-#include <numeric>
-#include <string>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace isdimm
-{
-namespace parser
-{
-static constexpr auto SPD_JEDEC_DDR4_SDRAM_CAP_MASK = 0x0F;
-static constexpr auto SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MASK = 0x07;
-static constexpr auto SPD_JEDEC_DDR4_SDRAM_WIDTH_MASK = 0x07;
-static constexpr auto SPD_JEDEC_DDR4_NUM_RANKS_MASK = 0x38;
-static constexpr auto SPD_JEDEC_DDR4_DIE_COUNT_MASK = 0x70;
-static constexpr auto SPD_JEDEC_DDR4_SINGLE_LOAD_STACK = 0x02;
-static constexpr auto SPD_JEDEC_DDR4_SIGNAL_LOADING_MASK = 0x03;
-
-static constexpr auto SPD_JEDEC_DDR4_SDRAMCAP_MULTIPLIER = 256;
-static constexpr auto SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MULTIPLIER = 8;
-static constexpr auto SPD_JEDEC_DDR4_SDRAM_WIDTH_MULTIPLIER = 4;
-static constexpr auto SPD_JEDEC_DDR4_SDRAMCAP_RESERVED = 8;
-static constexpr auto SPD_JEDEC_DDR4_4_RESERVED_BITS = 4;
-static constexpr auto SPD_JEDEC_DDR4_3_RESERVED_BITS = 3;
-static constexpr auto SPD_JEDEC_DDR4_DIE_COUNT_RIGHT_SHIFT = 4;
-
-static constexpr auto SPD_JEDEC_DDR4_MFG_ID_MSB_OFFSET = 321;
-static constexpr auto SPD_JEDEC_DDR4_MFG_ID_LSB_OFFSET = 320;
-static constexpr auto SPD_JEDEC_DDR4_SN_BYTE0_OFFSET = 325;
-static constexpr auto SPD_JEDEC_DDR4_SN_BYTE1_OFFSET = 326;
-static constexpr auto SPD_JEDEC_DDR4_SN_BYTE2_OFFSET = 327;
-static constexpr auto SPD_JEDEC_DDR4_SN_BYTE3_OFFSET = 328;
-static constexpr auto SPD_JEDEC_DDR4_SDRAM_DENSITY_BANK_OFFSET = 4;
-static constexpr auto SPD_JEDEC_DDR4_SDRAM_ADDR_OFFSET = 5;
-static constexpr auto SPD_JEDEC_DDR4_DRAM_PRI_PACKAGE_OFFSET = 6;
-static constexpr auto SPD_JEDEC_DDR4_DRAM_MODULE_ORG_OFFSET = 12;
-static constexpr auto SPD_JEDEC_DDR4_DRAM_MANUFACTURER_ID_OFFSET = 320;
-static constexpr auto SPD_JEDEC_DRAM_MANUFACTURER_ID_LENGTH = 2;
-
-// DDR5 JEDEC specification constants
-static constexpr auto SPD_JEDEC_DDR5_SUB_CHANNELS_PER_DIMM = 235;
-static constexpr auto SPD_JEDEC_DDR5_SUB_CHANNELS_PER_DIMM_MASK = 0x60;
-static constexpr auto SPD_JEDEC_DDR5_PRI_BUS_WIDTH_PER_CHANNEL = 235;
-static constexpr auto SPD_JEDEC_DDR5_PRI_BUS_WIDTH_PER_CHANNEL_MASK = 0x07;
-static constexpr auto SPD_JEDEC_DDR5_SDRAM_IO_WIDTH_SYM_ALL = 6;
-static constexpr auto SPD_JEDEC_DDR5_SDRAM_IO_WIDTH_ASYM_EVEN = 6;
-static constexpr auto SPD_JEDEC_DDR5_SDRAM_IO_WIDTH_ASYM_ODD = 10;
-static constexpr auto SPD_JEDEC_DDR5_SDRAM_IO_WIDTH_MASK = 0xE0;
-static constexpr auto SPD_JEDEC_DDR5_DIE_PER_PKG_SYM_ALL = 4;
-static constexpr auto SPD_JEDEC_DDR5_DIE_PER_PKG_ASYM_EVEN = 4;
-static constexpr auto SPD_JEDEC_DDR5_DIE_PER_PKG_ASYM_ODD = 8;
-static constexpr auto SPD_JEDEC_DDR5_DIE_PER_PKG_MASK = 0xE0;
-static constexpr auto SPD_JEDEC_DDR5_SDRAM_DENSITY_PER_DIE_SYM_ALL = 4;
-static constexpr auto SPD_JEDEC_DDR5_SDRAM_DENSITY_PER_DIE_ASYM_EVEN = 4;
-static constexpr auto SPD_JEDEC_DDR5_SDRAM_DENSITY_PER_DIE_ASYM_ODD = 8;
-static constexpr auto SPD_JEDEC_DDR5_SDRAM_DENSITY_PER_DIE_MASK = 0x1F;
-static constexpr auto SPD_JEDEC_DDR5_RANK_MIX = 234;
-static constexpr auto SPD_JEDEC_DDR5_RANK_MIX_SYMMETRICAL_MASK = 0x40;
-static constexpr auto SPD_JEDEC_DDR5_DRAM_MANUFACTURER_ID_OFFSET = 552;
-
-auto isdimmVpdParser::getDDR4DimmCapacity(Binary::const_iterator& iterator)
-{
-    size_t tmp = 0, dimmSize = 0;
-
-    size_t sdramCap = 1, priBusWid = 1, sdramWid = 1, logicalRanksPerDimm = 1;
-    Byte dieCount = 1;
-
-    // NOTE: This calculation is Only for DDR4
-
-    // Calculate SDRAM  capacity
-    tmp = iterator[constants::SPD_BYTE_4] & SPD_JEDEC_DDR4_SDRAM_CAP_MASK;
-    /* Make sure the bits are not Reserved */
-    if (tmp >= SPD_JEDEC_DDR4_SDRAMCAP_RESERVED)
-    {
-        std::cerr
-            << "Bad data in spd byte 4. Can't calculate SDRAM capacity and so "
-               "dimm size.\n ";
-        return dimmSize;
-    }
-
-    sdramCap = (sdramCap << tmp) * SPD_JEDEC_DDR4_SDRAMCAP_MULTIPLIER;
-
-    /* Calculate Primary bus width */
-    tmp = iterator[constants::SPD_BYTE_13] & SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MASK;
-    if (tmp >= SPD_JEDEC_DDR4_4_RESERVED_BITS)
-    {
-        std::cerr
-            << "Bad data in spd byte 13. Can't calculate primary bus width "
-               "and so dimm size.\n ";
-        return dimmSize;
-    }
-    priBusWid = (priBusWid << tmp) * SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MULTIPLIER;
-
-    /* Calculate SDRAM width */
-    tmp = iterator[constants::SPD_BYTE_12] & SPD_JEDEC_DDR4_SDRAM_WIDTH_MASK;
-    if (tmp >= SPD_JEDEC_DDR4_4_RESERVED_BITS)
-    {
-        std::cerr
-            << "Bad data in vpd byte 12. Can't calculate SDRAM width and so "
-               "dimm size.\n ";
-        return dimmSize;
-    }
-    sdramWid = (sdramWid << tmp) * SPD_JEDEC_DDR4_SDRAM_WIDTH_MULTIPLIER;
-
-    tmp = iterator[constants::SPD_BYTE_6] & SPD_JEDEC_DDR4_SIGNAL_LOADING_MASK;
-
-    if (tmp == SPD_JEDEC_DDR4_SINGLE_LOAD_STACK)
-    {
-        // Fetch die count
-        tmp = iterator[constants::SPD_BYTE_6] & SPD_JEDEC_DDR4_DIE_COUNT_MASK;
-        tmp >>= SPD_JEDEC_DDR4_DIE_COUNT_RIGHT_SHIFT;
-        dieCount = tmp + 1;
-    }
-
-    /* Calculate Number of ranks */
-    tmp = iterator[constants::SPD_BYTE_12] & SPD_JEDEC_DDR4_NUM_RANKS_MASK;
-    tmp >>= SPD_JEDEC_DDR4_3_RESERVED_BITS;
-
-    if (tmp >= SPD_JEDEC_DDR4_4_RESERVED_BITS)
-    {
-        std::cerr << "Can't calculate number of ranks. Invalid data found.\n ";
-        return dimmSize;
-    }
-    logicalRanksPerDimm = (tmp + 1) * dieCount;
-
-    dimmSize = (sdramCap / SPD_JEDEC_DDR4_PRI_BUS_WIDTH_MULTIPLIER) *
-               (priBusWid / sdramWid) * logicalRanksPerDimm;
-
-    return dimmSize;
-}
-
-auto isdimmVpdParser::getDDR4PartNumber(Binary::const_iterator& iterator)
-{
-    char tmpPN[constants::PART_NUM_LEN + 1] = {'\0'};
-    sprintf(tmpPN, "%02X%02X%02X%X",
-            iterator[SPD_JEDEC_DDR4_SDRAM_DENSITY_BANK_OFFSET],
-            iterator[SPD_JEDEC_DDR4_SDRAM_ADDR_OFFSET],
-            iterator[SPD_JEDEC_DDR4_DRAM_PRI_PACKAGE_OFFSET],
-            iterator[SPD_JEDEC_DDR4_DRAM_MODULE_ORG_OFFSET] & 0x0F);
-    std::string partNumber(tmpPN, sizeof(tmpPN) - 1);
-    return partNumber;
-}
-
-auto isdimmVpdParser::getDDR4SerialNumber(Binary::const_iterator& iterator)
-{
-    char tmpSN[constants::SERIAL_NUM_LEN + 1] = {'\0'};
-    sprintf(tmpSN, "%02X%02X%02X%02X%02X%02X",
-            iterator[SPD_JEDEC_DDR4_MFG_ID_MSB_OFFSET],
-            iterator[SPD_JEDEC_DDR4_MFG_ID_LSB_OFFSET],
-            iterator[SPD_JEDEC_DDR4_SN_BYTE0_OFFSET],
-            iterator[SPD_JEDEC_DDR4_SN_BYTE1_OFFSET],
-            iterator[SPD_JEDEC_DDR4_SN_BYTE2_OFFSET],
-            iterator[SPD_JEDEC_DDR4_SN_BYTE3_OFFSET]);
-    std::string serialNumber(tmpSN, sizeof(tmpSN) - 1);
-    return serialNumber;
-}
-
-auto isdimmVpdParser::getDDR4FruNumber(const std::string& partNumber,
-                                       Binary::const_iterator& iterator)
-{
-    // check for 128GB ISRDIMM not implemented
-    //(128GB 2RX4(8GX72) IS RDIMM 36*(16GBIT, 2H),1.2V 288PIN,1.2" ROHS) - NA
-
-    // MTB Units is used in deciding the frequency of the DIMM
-    // This is applicable only for DDR4 specification
-    // 10 - DDR4-1600
-    // 9  - DDR4-1866
-    // 8  - DDR4-2133
-    // 7  - DDR4-2400
-    // 6  - DDR4-2666
-    // 5  - DDR4-3200
-    // pnFreqFnMap < tuple <partNumber, MTBUnits>, fruNumber>
-    static std::map<std::tuple<std::string, uint8_t>, std::string> pnFreqFnMap =
-        {{std::make_tuple("8421000", 6), "78P4191"},
-         {std::make_tuple("8421008", 6), "78P4192"},
-         {std::make_tuple("8529000", 6), "78P4197"},
-         {std::make_tuple("8529008", 6), "78P4198"},
-         {std::make_tuple("8529928", 6), "78P4199"},
-         {std::make_tuple("8529B28", 6), "78P4200"},
-         {std::make_tuple("8631928", 6), "78P6925"},
-         {std::make_tuple("8529000", 5), "78P7317"},
-         {std::make_tuple("8529008", 5), "78P7318"},
-         {std::make_tuple("8631008", 5), "78P6815"}};
-
-    std::string fruNumber;
-    uint8_t mtbUnits = iterator[openpower::vpd::constants::SPD_BYTE_18] &
-                       openpower::vpd::constants::SPD_BYTE_MASK;
-    std::tuple<std::string, uint8_t> tup_key = {partNumber, mtbUnits};
-    auto itr = pnFreqFnMap.find(tup_key);
-    if (itr != pnFreqFnMap.end())
-    {
-        fruNumber = itr->second;
-    }
-    else
-    {
-        fruNumber = "FFFFFFF";
-    }
-    return fruNumber;
-}
-
-auto isdimmVpdParser::getDDR4CCIN(const std::string& fruNumber)
-{
-    static std::unordered_map<std::string, std::string> pnCCINMap = {
-        {"78P4191", "324D"}, {"78P4192", "324E"}, {"78P4197", "324E"},
-        {"78P4198", "324F"}, {"78P4199", "325A"}, {"78P4200", "324C"},
-        {"78P6925", "32BC"}, {"78P7317", "331A"}, {"78P7318", "331F"},
-        {"78P6815", "32BB"}};
-
-    std::string ccin;
-    auto itr = pnCCINMap.find(fruNumber);
-    if (itr != pnCCINMap.end())
-    {
-        ccin = itr->second;
-    }
-    else
-    {
-        ccin = "XXXX";
-    }
-    return ccin;
-}
-
-auto isdimmVpdParser::getDDR4ManufacturerId()
-{
-    Binary mfgId(SPD_JEDEC_DRAM_MANUFACTURER_ID_LENGTH);
-
-    if (memVpd.size() < (SPD_JEDEC_DDR4_DRAM_MANUFACTURER_ID_OFFSET +
-                         SPD_JEDEC_DRAM_MANUFACTURER_ID_LENGTH))
-    {
-        std::cout
-            << "VPD length is less than the offset of Manufacturer ID. Can't fetch it"
-            << std::endl;
-        return mfgId;
-    }
-
-    std::copy_n((memVpd.cbegin() + SPD_JEDEC_DDR4_DRAM_MANUFACTURER_ID_OFFSET),
-                SPD_JEDEC_DRAM_MANUFACTURER_ID_LENGTH, mfgId.begin());
-
-    return mfgId;
-}
-
-auto isdimmVpdParser::getDDR5DimmCapacity(Binary::const_iterator& iterator)
-{
-    // dummy implementation to be updated when required
-    size_t dimmSize = 0;
-    (void)iterator;
-    return dimmSize;
-}
-
-auto isdimmVpdParser::getDDR5PartNumber(Binary::const_iterator& iterator)
-{
-    // dummy implementation to be updated when required
-    std::string partNumber;
-    (void)iterator;
-    partNumber = "0123456";
-    return partNumber;
-}
-
-auto isdimmVpdParser::getDDR5SerialNumber(Binary::const_iterator& iterator)
-{
-    // dummy implementation to be updated when required
-    std::string serialNumber;
-    (void)iterator;
-    serialNumber = "444444444444";
-    return serialNumber;
-}
-
-auto isdimmVpdParser::getDDR5FruNumber(const std::string& partNumber)
-{
-    // dummy implementation to be updated when required
-    static std::unordered_map<std::string, std::string> pnFruMap = {
-        {"1234567", "XXXXXXX"}};
-
-    std::string fruNumber;
-    auto itr = pnFruMap.find(partNumber);
-    if (itr != pnFruMap.end())
-    {
-        fruNumber = itr->second;
-    }
-    else
-    {
-        fruNumber = "FFFFFFF";
-    }
-    return fruNumber;
-}
-
-auto isdimmVpdParser::getDDR5CCIN(const std::string& partNumber)
-{
-    // dummy implementation to be updated when required
-    static std::unordered_map<std::string, std::string> pnCCINMap = {
-        {"1234567", "XXXX"}};
-
-    std::string ccin;
-    auto itr = pnCCINMap.find(partNumber);
-    if (itr != pnCCINMap.end())
-    {
-        ccin = itr->second;
-    }
-    else
-    {
-        ccin = "XXXX";
-    }
-    return ccin;
-}
-
-auto isdimmVpdParser::getDDR5ManufacturerId()
-{
-    Binary mfgId(SPD_JEDEC_DRAM_MANUFACTURER_ID_LENGTH);
-
-    if (memVpd.size() < (SPD_JEDEC_DDR5_DRAM_MANUFACTURER_ID_OFFSET +
-                         SPD_JEDEC_DRAM_MANUFACTURER_ID_LENGTH))
-    {
-        std::cout
-            << "VPD length is less than the offset of Manufacturer ID. Can't fetch it"
-            << std::endl;
-        return mfgId;
-    }
-
-    std::copy_n((memVpd.cbegin() + SPD_JEDEC_DDR5_DRAM_MANUFACTURER_ID_OFFSET),
-                SPD_JEDEC_DRAM_MANUFACTURER_ID_LENGTH, mfgId.begin());
-
-    return mfgId;
-}
-
-kwdVpdMap isdimmVpdParser::readKeywords(Binary::const_iterator& iterator)
-{
-    inventory::KeywordVpdMap keywordValueMap{};
-    if ((iterator[constants::SPD_BYTE_2] & constants::SPD_BYTE_MASK) ==
-        constants::SPD_DRAM_TYPE_DDR5)
-    {
-        size_t dimmSize = getDDR5DimmCapacity(iterator);
-        if (!dimmSize)
-        {
-            std::cerr << "Error: Calculated dimm size is 0.";
-        }
-        else
-        {
-            keywordValueMap.emplace("MemorySizeInKB", dimmSize);
-        }
-        auto partNumber = getDDR5PartNumber(iterator);
-        auto fruNumber = getDDR5FruNumber(partNumber);
-        keywordValueMap.emplace("FN", move(fruNumber));
-        auto serialNumber = getDDR5SerialNumber(iterator);
-        keywordValueMap.emplace("SN", move(serialNumber));
-        auto ccin = getDDR5CCIN(partNumber);
-        keywordValueMap.emplace("CC", move(ccin));
-        keywordValueMap.emplace("PN", move(partNumber));
-        auto mfgID = getDDR5ManufacturerId();
-        keywordValueMap.emplace("DI", move(mfgID));
-    }
-    else if ((iterator[constants::SPD_BYTE_2] & constants::SPD_BYTE_MASK) ==
-             constants::SPD_DRAM_TYPE_DDR4)
-    {
-        size_t dimmSize = getDDR4DimmCapacity(iterator);
-        if (!dimmSize)
-        {
-            std::cerr << "Error: Calculated dimm size is 0.";
-        }
-        else
-        {
-            keywordValueMap.emplace("MemorySizeInKB",
-                                    (dimmSize * constants::CONVERT_MB_TO_KB));
-        }
-
-        auto partNumber = getDDR4PartNumber(iterator);
-        auto fruNumber = getDDR4FruNumber(partNumber, iterator);
-        auto serialNumber = getDDR4SerialNumber(iterator);
-        auto ccin = getDDR4CCIN(fruNumber);
-        auto mfgID = getDDR4ManufacturerId();
-
-        // PN value is made same as FN value
-        auto displayPartNumber = fruNumber;
-        keywordValueMap.emplace("PN", move(displayPartNumber));
-        keywordValueMap.emplace("FN", move(fruNumber));
-        keywordValueMap.emplace("SN", move(serialNumber));
-        keywordValueMap.emplace("CC", move(ccin));
-        keywordValueMap.emplace("DI", move(mfgID));
-    }
-    return keywordValueMap;
-}
-
-std::variant<kwdVpdMap, Store> isdimmVpdParser::parse()
-{
-    // Read the data and return the map
-    auto iterator = memVpd.cbegin();
-    auto vpdDataMap = readKeywords(iterator);
-
-    return vpdDataMap;
-}
-
-} // namespace parser
-} // namespace isdimm
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-parser/isdimm_vpd_parser.hpp b/vpd-parser/isdimm_vpd_parser.hpp
deleted file mode 100644
index 8270884..0000000
--- a/vpd-parser/isdimm_vpd_parser.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-#pragma once
-
-#include "impl.hpp"
-#include "parser_interface.hpp"
-#include "types.hpp"
-
-namespace openpower
-{
-namespace vpd
-{
-namespace isdimm
-{
-namespace parser
-{
-using ParserInterface = openpower::vpd::parser::interface::ParserInterface;
-using kwdVpdMap = inventory::KeywordVpdMap;
-
-class isdimmVpdParser : public ParserInterface
-{
-  public:
-    isdimmVpdParser() = delete;
-    isdimmVpdParser(const isdimmVpdParser&) = delete;
-    isdimmVpdParser& operator=(const isdimmVpdParser&) = delete;
-    isdimmVpdParser(isdimmVpdParser&&) = delete;
-    isdimmVpdParser& operator=(isdimmVpdParser&&) = delete;
-    ~isdimmVpdParser() = default;
-
-    /**
-     * @brief Constructor
-     *
-     * Move memVpdVector to parser object's memVpdVector
-     */
-    isdimmVpdParser(const Binary& VpdVector) : memVpd(VpdVector) {}
-
-    /**
-     * @brief Parse the memory SPD binary data.
-     * Collects and emplace the keyword-value pairs in map.
-     *
-     * @return map of keyword:value
-     */
-    std::variant<kwdVpdMap, Store> parse();
-
-    /**
-     * @brief An api to return interface name with respect to
-     * published data on cache
-     *
-     * @return - Interface name for that vpd type.
-     */
-    std::string getInterfaceName() const;
-
-  private:
-    /**
-     * @brief An api to read keywords.
-     *
-     * @return- map of kwd:value
-     */
-    kwdVpdMap readKeywords(Binary::const_iterator& iterator);
-
-    /**
-     * @brief This function calculates DIMM size from SPD
-     *
-     * @param[in] iterator - iterator to buffer containing SPD
-     * @return calculated data or 0 in case of any error.
-     */
-    auto getDDR4DimmCapacity(Binary::const_iterator& iterator);
-
-    /**
-     * @brief This function calculates part number from SPD
-     *
-     * @param[in] iterator - iterator to buffer containing SPD
-     * @return calculated part number.
-     */
-    auto getDDR4PartNumber(Binary::const_iterator& iterator);
-
-    /**
-     * @brief This function calculates serial number from SPD
-     *
-     * @param[in] iterator - iterator to buffer containing SPD
-     * @return calculated serial number.
-     */
-    auto getDDR4SerialNumber(Binary::const_iterator& iterator);
-
-    /**
-     * @brief This function allocates FRU number based on part number
-     *
-     * @param[in] partNumber - part number of the DIMM
-     * @param[in] iterator - iterator to buffer containing SPD
-     * @return allocated FRU number.
-     */
-    auto getDDR4FruNumber(const std::string& partNumber,
-                          Binary::const_iterator& iterator);
-
-    /**
-     * @brief This function allocates CCIN based on part number
-     *
-     * @param[in] partNumber - part number of the DIMM
-     * @return allocated CCIN.
-     */
-    auto getDDR4CCIN(const std::string& partNumber);
-
-    /**
-     * @brief The function fetches manufacturer's ID of DIMM.
-     *
-     * @return manufacturer ID.
-     */
-    auto getDDR4ManufacturerId();
-
-    /**
-     * @brief This function calculates DIMM size from SPD
-     *
-     * @param[in] iterator - iterator to buffer containing SPD
-     * @return calculated data or 0 in case of any error.
-     */
-    auto getDDR5DimmCapacity(Binary::const_iterator& iterator);
-
-    /**
-     * @brief This function calculates part number from SPD
-     *
-     * @param[in] iterator - iterator to buffer containing SPD
-     * @return calculated part number.
-     */
-    auto getDDR5PartNumber(Binary::const_iterator& iterator);
-
-    /**
-     * @brief This function calculates serial number from SPD
-     *
-     * @param[in] iterator - iterator to buffer containing SPD
-     * @return calculated serial number.
-     */
-    auto getDDR5SerialNumber(Binary::const_iterator& iterator);
-
-    /**
-     * @brief This function allocates FRU number based on part number
-     *
-     * @param[in] partNumber - part number of the DIMM
-     * @return allocated FRU number.
-     */
-    auto getDDR5FruNumber(const std::string& partNumber);
-
-    /**
-     * @brief This function allocates CCIN based on part number
-     *
-     * @param[in] partNumber - part number of the DIMM
-     * @return allocated CCIN.
-     */
-    auto getDDR5CCIN(const std::string& partNumber);
-
-    /**
-     * @brief The function fetches manufacturer's ID of DIMM.
-     *
-     * @return manufacturer ID.
-     */
-    auto getDDR5ManufacturerId();
-
-    // vdp file to be parsed
-    const Binary& memVpd;
-};
-
-inline std::string isdimmVpdParser::getInterfaceName() const
-{
-    return constants::memVpdInf;
-}
-
-} // namespace parser
-} // namespace isdimm
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-parser/keyword_vpd_parser.cpp b/vpd-parser/keyword_vpd_parser.cpp
deleted file mode 100644
index b335c07..0000000
--- a/vpd-parser/keyword_vpd_parser.cpp
+++ /dev/null
@@ -1,216 +0,0 @@
-#include "keyword_vpd_parser.hpp"
-
-#include "const.hpp"
-
-#include <iostream>
-#include <numeric>
-#include <string>
-
-using namespace openpower::vpd::constants;
-using namespace openpower::vpd::inventory;
-using namespace std;
-using namespace openpower::vpd;
-
-namespace vpd
-{
-namespace keyword
-{
-namespace parser
-{
-
-variant<KeywordVpdMap, store> KeywordVpdParser::parse()
-{
-    int kwVpdType;
-
-    validateLargeResourceIdentifierString();
-
-    kwVpdType = validateTheTypeOfKwVpd();
-
-    auto kwValMap = kwValParser();
-
-    // Do not process these two functions for bono type VPD
-    if (!kwVpdType)
-    {
-        validateSmallResourceTypeEnd();
-
-        validateChecksum();
-    }
-
-    validateSmallResourceTypeLastEnd();
-
-#ifdef DEBUG_KW_VPD
-    cerr << '\n' << " KW " << '\t' << "  VALUE " << '\n';
-    for (const auto& it : kwValMap)
-    {
-        cerr << '\n' << " " << it->first << '\t';
-        copy((it->second).begin(), (it->second).end(),
-             ostream_iterator<int>(cout << hex, " "));
-    }
-#endif
-
-    return kwValMap;
-}
-
-void KeywordVpdParser::validateLargeResourceIdentifierString()
-{
-    kwVpdIterator = keywordVpdVector.begin();
-
-    // Check for large resource type identifier string
-    if (*kwVpdIterator != KW_VPD_START_TAG)
-    {
-        throw std::runtime_error(
-            "Invalid Large resource type Identifier String");
-    }
-
-    itrOutOfBoundCheck(1);
-    advance(kwVpdIterator, sizeof(KW_VPD_START_TAG));
-}
-
-int KeywordVpdParser::validateTheTypeOfKwVpd()
-{
-    size_t dataSize = getKwDataSize();
-
-    itrOutOfBoundCheck(TWO_BYTES + dataSize);
-
-#ifdef DEBUG_KW_VPD
-    auto dsDeb = dataSize;
-    auto itDeb = kwVpdIterator + TWO_BYTES;
-    std::cout << '\n' << '\t';
-    while (dsDeb != 0)
-    {
-        std::cout << *itDeb;
-        itDeb++;
-        dsDeb--;
-    }
-    std::cout << '\n';
-#endif
-
-    // +TWO_BYTES is the description's size byte
-    std::advance(kwVpdIterator, TWO_BYTES + dataSize);
-
-    int kwVpdType = 0;
-    // Check for invalid vendor defined large resource type
-    if (*kwVpdIterator != KW_VAL_PAIR_START_TAG)
-    {
-        if (*kwVpdIterator != ALT_KW_VAL_PAIR_START_TAG)
-        {
-            throw std::runtime_error("Invalid Keyword Value Pair Start Tag");
-        }
-        // Bono vpd referred as 1
-        kwVpdType = 1;
-    }
-    return kwVpdType;
-}
-
-KeywordVpdMap KeywordVpdParser::kwValParser()
-{
-    int totalSize = 0;
-    KeywordVpdMap kwValMap;
-
-    checkSumStart = kwVpdIterator;
-
-    itrOutOfBoundCheck(1);
-    kwVpdIterator++;
-
-    // Get the total length of all keyword value pairs
-    totalSize = getKwDataSize();
-
-    if (totalSize == 0)
-    {
-        throw std::runtime_error("Badly formed keyword VPD data");
-    }
-
-    itrOutOfBoundCheck(TWO_BYTES);
-    std::advance(kwVpdIterator, TWO_BYTES);
-
-    // Parse the keyword-value and store the pairs in map
-    while (totalSize > 0)
-    {
-        std::string kwStr(kwVpdIterator, kwVpdIterator + TWO_BYTES);
-
-        totalSize -= TWO_BYTES;
-        itrOutOfBoundCheck(TWO_BYTES);
-        std::advance(kwVpdIterator, TWO_BYTES);
-
-        size_t kwSize = *kwVpdIterator;
-
-        itrOutOfBoundCheck(1);
-        kwVpdIterator++;
-
-        std::vector<uint8_t> valVec(kwVpdIterator, kwVpdIterator + kwSize);
-
-        itrOutOfBoundCheck(kwSize);
-        std::advance(kwVpdIterator, kwSize);
-
-        totalSize -= kwSize + 1;
-
-        kwValMap.emplace(std::make_pair(std::move(kwStr), std::move(valVec)));
-    }
-
-    checkSumEnd = kwVpdIterator - 1;
-
-    return kwValMap;
-}
-
-void KeywordVpdParser::validateSmallResourceTypeEnd()
-{
-    // Check for small resource type end tag
-    if (*kwVpdIterator != KW_VAL_PAIR_END_TAG)
-    {
-        throw std::runtime_error("Invalid Small resource type End");
-    }
-}
-
-void KeywordVpdParser::validateChecksum()
-{
-    uint8_t checkSum = 0;
-
-    // Checksum calculation
-    checkSum = std::accumulate(checkSumStart, checkSumEnd + 1, checkSum);
-    checkSum = ~checkSum + 1;
-
-    if (checkSum != *(kwVpdIterator + 1))
-    {
-        throw std::runtime_error("Invalid Check sum");
-    }
-#ifdef DEBUG_KW_VPD
-    std::cout << "\nCHECKSUM : " << std::hex << static_cast<int>(checkSum)
-              << std::endl;
-#endif
-
-    itrOutOfBoundCheck(TWO_BYTES);
-    std::advance(kwVpdIterator, TWO_BYTES);
-}
-
-void KeywordVpdParser::validateSmallResourceTypeLastEnd()
-{
-    // Check for small resource type last end of data
-    if (*kwVpdIterator != KW_VPD_END_TAG)
-    {
-        throw std::runtime_error(
-            "Invalid Small resource type Last End Of Data");
-    }
-}
-
-size_t KeywordVpdParser::getKwDataSize()
-{
-    return (*(kwVpdIterator + 1) << 8 | *kwVpdIterator);
-}
-
-void KeywordVpdParser::itrOutOfBoundCheck(uint8_t incVar)
-{
-    if ((std::distance(keywordVpdVector.begin(), kwVpdIterator + incVar)) >
-        std::distance(keywordVpdVector.begin(), keywordVpdVector.end()))
-    {
-        throw std::runtime_error("Badly formed VPD data");
-    }
-}
-
-std::string KeywordVpdParser::getInterfaceName() const
-{
-    return kwdVpdInf;
-}
-
-} // namespace parser
-} // namespace keyword
-} // namespace vpd
diff --git a/vpd-parser/keyword_vpd_parser.hpp b/vpd-parser/keyword_vpd_parser.hpp
deleted file mode 100644
index 6b02961..0000000
--- a/vpd-parser/keyword_vpd_parser.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-#pragma once
-
-#include "parser_interface.hpp"
-#include "types.hpp"
-
-namespace vpd
-{
-namespace keyword
-{
-namespace parser
-{
-
-using ParserInterface = openpower::vpd::parser::interface::ParserInterface;
-using kwdVpdMap = openpower::vpd::inventory::KeywordVpdMap;
-using store = openpower::vpd::Store;
-
-/**
- * @class KeywordVpdParser
- * @brief Implements parser for Keyword VPD
- *
- * KeywordVpdParser object must be constructed by passing in
- * Keyword VPD in binary format. To parse the VPD, call the
- * kwVpdParser() method. The kwVpdParser() method returns
- * a map of keyword-value pairs.
- *
- * Following is the algorithm used to parse Keyword VPD data:
- * 1) Validate if the first byte is 'largeResourceIdentifierString'.
- * 2) Validate the byte after the description is 'vendor defined large resource
- * type tag'.
- * 3) For each keyword-value pairs :
- * 	3.1) Parse the 2 byte length keyword and emplace it in the map as 'key'.
- * 	3.2) Parse over the value bytes corresponding to the keyword and
- * 	     emplace it in the map as 'value' for the key inserted in 3.1.
- * 4) Validate the byte before checksum byte is 'small resource type end tag'.
- * 5) Validate the checksum.
- * 6) Validate the 'small resource type last end tag'.
- * 7) Return the keyword-value map.
- */
-class KeywordVpdParser : public ParserInterface
-{
-  public:
-    KeywordVpdParser() = delete;
-    KeywordVpdParser(const KeywordVpdParser&) = delete;
-    KeywordVpdParser(KeywordVpdParser&&) = delete;
-    ~KeywordVpdParser() = default;
-
-    /**
-     * @brief Constructor
-     *
-     * Move kwVpdVector to parser object's kwVpdVector
-     */
-    KeywordVpdParser(const openpower::vpd::Binary& kwVpdVector) :
-        keywordVpdVector(kwVpdVector)
-    {}
-
-    /**
-     * @brief Parse the keyword VPD binary data.
-     * Calls the sub functions to emplace the
-     * keyword-value pairs in map and to validate
-     * certain tags and checksum data.
-     *
-     * @return map of keyword:value
-     */
-    std::variant<kwdVpdMap, store> parse();
-
-    /**
-     * @brief An api to return interface name with respect to
-     * the parser selected.
-     *
-     * @return - Interface name for that vpd type.
-     */
-    std::string getInterfaceName() const;
-
-  private:
-    openpower::vpd::Binary::const_iterator
-        checkSumStart;    //!< Pointer to the start byte from where
-                          //!< the checksum need to be calculated
-    openpower::vpd::Binary::const_iterator
-        checkSumEnd;      //!< Pointer to the end byte until which the
-                          //!< checksum need to be calculated
-    openpower::vpd::Binary::const_iterator
-        kwVpdIterator;    //!< Iterator to parse the vector
-    const openpower::vpd::Binary&
-        keywordVpdVector; //!< Vector which stores keyword VPD data
-
-    /**
-     * @brief Validate the large resource identifier string
-     */
-    void validateLargeResourceIdentifierString();
-
-    /**
-     * @brief Validate the type of keyword VPD
-     *
-     * @return integer representing the type of kw VPD.
-     */
-    int validateTheTypeOfKwVpd();
-
-    /**
-     * @brief Parsing keyword-value pairs and emplace into Map.
-     *
-     * @return map of keyword:value
-     */
-    openpower::vpd::inventory::KeywordVpdMap kwValParser();
-
-    /**
-     * @brief Validate small resource type end tag
-     */
-    void validateSmallResourceTypeEnd();
-
-    /**
-     * @brief Validate checksum.
-     *
-     * Finding the 2's complement of sum of all the
-     * keywords,values and large resource identifier string.
-     */
-    void validateChecksum();
-
-    /**
-     * @brief Validate small resource type last end tag
-     */
-    void validateSmallResourceTypeLastEnd();
-
-    /**
-     * @brief Get the size of the keyword
-     *
-     * @return one byte length size data
-     */
-    size_t getKwDataSize();
-
-    /**
-     * @brief Check for iterator Out of Bound exception
-     *
-     * Check if no.of elements from (beginning of the vector) to (iterator +
-     * incVar) is lesser than or equal to the total no.of elements in the
-     * vector. This check is performed before the advancement of the iterator.
-     *
-     * @param[incVar] - no.of positions the iterator is going to be iterated
-     */
-    void itrOutOfBoundCheck(uint8_t incVar);
-};
-} // namespace parser
-} // namespace keyword
-} // namespace vpd
diff --git a/vpd-parser/memory_vpd_parser.cpp b/vpd-parser/memory_vpd_parser.cpp
deleted file mode 100644
index 4a0ac7c..0000000
--- a/vpd-parser/memory_vpd_parser.cpp
+++ /dev/null
@@ -1,400 +0,0 @@
-#include "memory_vpd_parser.hpp"
-
-#include <cmath>
-#include <cstdint>
-#include <iostream>
-#include <numeric>
-#include <string>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace memory
-{
-namespace parser
-{
-using namespace inventory;
-using namespace constants;
-using namespace std;
-using namespace openpower::vpd::parser;
-
-static constexpr auto JEDEC_SDRAM_CAP_MASK = 0x0F;
-static constexpr auto JEDEC_PRI_BUS_WIDTH_MASK = 0x07;
-static constexpr auto JEDEC_SDRAM_WIDTH_MASK = 0x07;
-static constexpr auto JEDEC_NUM_RANKS_MASK = 0x38;
-static constexpr auto JEDEC_DIE_COUNT_MASK = 0x70;
-static constexpr auto JEDEC_SINGLE_LOAD_STACK = 0x02;
-static constexpr auto JEDEC_SIGNAL_LOADING_MASK = 0x03;
-
-static constexpr auto JEDEC_SDRAMCAP_MULTIPLIER = 256;
-static constexpr auto JEDEC_PRI_BUS_WIDTH_MULTIPLIER = 8;
-static constexpr auto JEDEC_SDRAM_WIDTH_MULTIPLIER = 4;
-static constexpr auto JEDEC_SDRAMCAP_RESERVED = 6;
-static constexpr auto JEDEC_RESERVED_BITS = 3;
-static constexpr auto JEDEC_DIE_COUNT_RIGHT_SHIFT = 4;
-
-static constexpr auto SDRAM_DENSITY_PER_DIE_24GB = 24;
-static constexpr auto SDRAM_DENSITY_PER_DIE_32GB = 32;
-static constexpr auto SDRAM_DENSITY_PER_DIE_48GB = 48;
-static constexpr auto SDRAM_DENSITY_PER_DIE_64GB = 64;
-static constexpr auto SDRAM_DENSITY_PER_DIE_UNDEFINED = 0;
-
-static constexpr auto PRIMARY_BUS_WIDTH_32_BITS = 32;
-static constexpr auto PRIMARY_BUS_WIDTH_UNUSED = 0;
-static constexpr auto DRAM_MANUFACTURER_ID_OFFSET = 0x228;
-static constexpr auto DRAM_MANUFACTURER_ID_LENGTH = 0x02;
-
-bool memoryVpdParser::checkValidValue(uint8_t l_ByteValue, uint8_t shift,
-                                      uint8_t minValue, uint8_t maxValue)
-{
-    l_ByteValue = l_ByteValue >> shift;
-    if ((l_ByteValue > maxValue) || (l_ByteValue < minValue))
-    {
-        cout << "Non valid Value encountered value[" << l_ByteValue
-             << "] range [" << minValue << ".." << maxValue << "] found "
-             << " " << endl;
-        return false;
-    }
-    else
-    {
-        return true;
-    }
-}
-
-uint8_t memoryVpdParser::getDDR5DensityPerDie(uint8_t l_ByteValue)
-{
-    uint8_t l_densityPerDie = SDRAM_DENSITY_PER_DIE_UNDEFINED;
-    if (l_ByteValue < constants::VALUE_5)
-    {
-        l_densityPerDie = l_ByteValue * constants::VALUE_4;
-    }
-    else
-    {
-        switch (l_ByteValue)
-        {
-            case VALUE_5:
-                l_densityPerDie = SDRAM_DENSITY_PER_DIE_24GB;
-                break;
-
-            case VALUE_6:
-                l_densityPerDie = SDRAM_DENSITY_PER_DIE_32GB;
-                break;
-
-            case VALUE_7:
-                l_densityPerDie = SDRAM_DENSITY_PER_DIE_48GB;
-                break;
-
-            case VALUE_8:
-                l_densityPerDie = SDRAM_DENSITY_PER_DIE_64GB;
-                break;
-
-            default:
-                cout << "default value encountered for density per die" << endl;
-                l_densityPerDie = SDRAM_DENSITY_PER_DIE_UNDEFINED;
-                break;
-        }
-    }
-    return l_densityPerDie;
-}
-
-uint8_t memoryVpdParser::getDDR5DiePerPackage(uint8_t l_ByteValue)
-{
-    uint8_t l_DiePerPackage = constants::VALUE_0;
-    if (l_ByteValue < constants::VALUE_2)
-    {
-        l_DiePerPackage = l_ByteValue + constants::VALUE_1;
-    }
-    else
-    {
-        l_DiePerPackage =
-            pow(constants::VALUE_2, (l_ByteValue - constants::VALUE_1));
-    }
-    return l_DiePerPackage;
-}
-
-auto memoryVpdParser::getDdr5BasedDDimmSize(Binary::const_iterator iterator)
-{
-    size_t dimmSize = 0;
-
-    do
-    {
-        if (!checkValidValue(iterator[constants::SPD_BYTE_235] &
-                                 constants::MASK_BYTE_BITS_01,
-                             constants::SHIFT_BITS_0, constants::VALUE_1,
-                             constants::VALUE_3) ||
-            !checkValidValue(iterator[constants::SPD_BYTE_235] &
-                                 constants::MASK_BYTE_BITS_345,
-                             constants::SHIFT_BITS_3, constants::VALUE_1,
-                             constants::VALUE_3))
-        {
-            std::cerr
-                << "Capacity calculation failed for channels per DIMM. DDIMM "
-                   "Byte 235 value ["
-                << iterator[constants::SPD_BYTE_235] << "]";
-            break;
-        }
-        uint8_t l_channelsPerPhy =
-            (((iterator[constants::SPD_BYTE_235] & constants::MASK_BYTE_BITS_01)
-                  ? constants::VALUE_1
-                  : constants::VALUE_0) +
-             ((iterator[constants::SPD_BYTE_235] &
-               constants::MASK_BYTE_BITS_345)
-                  ? constants::VALUE_1
-                  : constants::VALUE_0));
-
-        uint8_t l_channelsPerDdimm =
-            (((iterator[constants::SPD_BYTE_235] &
-               constants::MASK_BYTE_BITS_6) >>
-              constants::VALUE_6) +
-             ((iterator[constants::SPD_BYTE_235] &
-               constants::MASK_BYTE_BITS_7) >>
-              constants::VALUE_7)) *
-            l_channelsPerPhy;
-
-        if (!checkValidValue(iterator[constants::SPD_BYTE_235] &
-                                 constants::MASK_BYTE_BITS_012,
-                             constants::SHIFT_BITS_0, constants::VALUE_1,
-                             constants::VALUE_3))
-        {
-            std::cerr
-                << "Capacity calculation failed for bus width per channel. "
-                   "DDIMM Byte 235 value ["
-                << iterator[constants::SPD_BYTE_235] << "]";
-            break;
-        }
-        uint8_t l_busWidthPerChannel =
-            (iterator[constants::SPD_BYTE_235] & constants::MASK_BYTE_BITS_012)
-                ? PRIMARY_BUS_WIDTH_32_BITS
-                : PRIMARY_BUS_WIDTH_UNUSED;
-
-        if (!checkValidValue(
-                iterator[constants::SPD_BYTE_4] & constants::MASK_BYTE_BITS_567,
-                constants::SHIFT_BITS_5, constants::VALUE_0,
-                constants::VALUE_5))
-        {
-            std::cerr
-                << "Capacity calculation failed for die per package. DDIMM "
-                   "Byte 4 value ["
-                << iterator[constants::SPD_BYTE_4] << "]";
-            break;
-        }
-        uint8_t l_diePerPackage = getDDR5DiePerPackage(
-            (iterator[constants::SPD_BYTE_4] & constants::MASK_BYTE_BITS_567) >>
-            constants::VALUE_5);
-
-        if (!checkValidValue(iterator[constants::SPD_BYTE_4] &
-                                 constants::MASK_BYTE_BITS_01234,
-                             constants::SHIFT_BITS_0, constants::VALUE_1,
-                             constants::VALUE_8))
-        {
-            std::cerr
-                << "Capacity calculation failed for SDRAM Density per Die. "
-                   "DDIMM Byte 4 value ["
-                << iterator[constants::SPD_BYTE_4] << "]";
-            break;
-        }
-        uint8_t l_densityPerDie = getDDR5DensityPerDie(
-            iterator[constants::SPD_BYTE_4] & constants::MASK_BYTE_BITS_01234);
-
-        uint8_t l_ranksPerChannel = 0;
-        if (((iterator[constants::SPD_BYTE_235] &
-              constants::MASK_BYTE_BITS_7) >>
-             constants::VALUE_7))
-        {
-            l_ranksPerChannel = ((iterator[constants::SPD_BYTE_234] &
-                                  constants::MASK_BYTE_BITS_345) >>
-                                 constants::VALUE_3) +
-                                constants::VALUE_1;
-        }
-        else if (((iterator[constants::SPD_BYTE_235] &
-                   constants::MASK_BYTE_BITS_6) >>
-                  constants::VALUE_6))
-        {
-            l_ranksPerChannel = (iterator[constants::SPD_BYTE_234] &
-                                 constants::MASK_BYTE_BITS_012) +
-                                constants::VALUE_1;
-        }
-#if 0
-        // Old Style capacity calculation kept for reference
-        // will be removed later
-        uint8_t l_ranksPerChannel =
-            (((iterator[constants::SPD_BYTE_234] &
-               constants::MASK_BYTE_BITS_345) >>
-              constants::VALUE_3) *
-             ((iterator[constants::SPD_BYTE_235] &
-               constants::MASK_BYTE_BITS_7) >>
-              constants::VALUE_7)) +
-            ((iterator[constants::SPD_BYTE_234] &
-              constants::MASK_BYTE_BITS_012) +
-             constants::VALUE_2 * ((iterator[constants::SPD_BYTE_235] &
-                                    constants::MASK_BYTE_BITS_6) >>
-                                   constants::VALUE_6));
-#endif
-
-        if (!checkValidValue(
-                iterator[constants::SPD_BYTE_6] & constants::MASK_BYTE_BITS_567,
-                constants::SHIFT_BITS_5, constants::VALUE_0,
-                constants::VALUE_3))
-        {
-            std::cout
-                << "Capacity calculation failed for dram width DDIMM Byte 6 value ["
-                << iterator[constants::SPD_BYTE_6] << "]";
-            break;
-        }
-        uint8_t l_dramWidth =
-            VALUE_4 * (VALUE_1 << ((iterator[constants::SPD_BYTE_6] &
-                                    constants::MASK_BYTE_BITS_567) >>
-                                   constants::VALUE_5));
-
-        dimmSize = (l_channelsPerDdimm * l_busWidthPerChannel *
-                    l_diePerPackage * l_densityPerDie * l_ranksPerChannel) /
-                   (8 * l_dramWidth);
-
-    } while (false);
-
-    return constants::CONVERT_GB_TO_KB * dimmSize;
-}
-
-auto memoryVpdParser::getDdr4BasedDDimmSize(Binary::const_iterator iterator)
-{
-    size_t tmp = 0, dimmSize = 0;
-
-    size_t sdramCap = 1, priBusWid = 1, sdramWid = 1, logicalRanksPerDimm = 1;
-    Byte dieCount = 1;
-
-    // NOTE: This calculation is Only for DDR4
-
-    // Calculate SDRAM  capacity
-    tmp = iterator[SPD_BYTE_4] & JEDEC_SDRAM_CAP_MASK;
-    /* Make sure the bits are not Reserved */
-    if (tmp > JEDEC_SDRAMCAP_RESERVED)
-    {
-        cerr << "Bad data in vpd byte 4. Can't calculate SDRAM capacity and so "
-                "dimm size.\n ";
-        return dimmSize;
-    }
-
-    sdramCap = (sdramCap << tmp) * JEDEC_SDRAMCAP_MULTIPLIER;
-
-    /* Calculate Primary bus width */
-    tmp = iterator[SPD_BYTE_13] & JEDEC_PRI_BUS_WIDTH_MASK;
-    if (tmp > JEDEC_RESERVED_BITS)
-    {
-        cerr << "Bad data in vpd byte 13. Can't calculate primary bus width "
-                "and so dimm size.\n ";
-        return dimmSize;
-    }
-    priBusWid = (priBusWid << tmp) * JEDEC_PRI_BUS_WIDTH_MULTIPLIER;
-
-    /* Calculate SDRAM width */
-    tmp = iterator[SPD_BYTE_12] & JEDEC_SDRAM_WIDTH_MASK;
-    if (tmp > JEDEC_RESERVED_BITS)
-    {
-        cerr << "Bad data in vpd byte 12. Can't calculate SDRAM width and so "
-                "dimm size.\n ";
-        return dimmSize;
-    }
-    sdramWid = (sdramWid << tmp) * JEDEC_SDRAM_WIDTH_MULTIPLIER;
-
-    tmp = iterator[SPD_BYTE_6] & JEDEC_SIGNAL_LOADING_MASK;
-
-    if (tmp == JEDEC_SINGLE_LOAD_STACK)
-    {
-        // Fetch die count
-        tmp = iterator[SPD_BYTE_6] & JEDEC_DIE_COUNT_MASK;
-        tmp >>= JEDEC_DIE_COUNT_RIGHT_SHIFT;
-        dieCount = tmp + 1;
-    }
-
-    /* Calculate Number of ranks */
-    tmp = iterator[SPD_BYTE_12] & JEDEC_NUM_RANKS_MASK;
-    tmp >>= JEDEC_RESERVED_BITS;
-
-    if (tmp > JEDEC_RESERVED_BITS)
-    {
-        cerr << "Can't calculate number of ranks. Invalid data found.\n ";
-        return dimmSize;
-    }
-    logicalRanksPerDimm = (tmp + 1) * dieCount;
-
-    dimmSize = (sdramCap / JEDEC_PRI_BUS_WIDTH_MULTIPLIER) *
-               (priBusWid / sdramWid) * logicalRanksPerDimm;
-
-    return constants::CONVERT_MB_TO_KB * dimmSize;
-}
-
-size_t memoryVpdParser::getDDimmSize(Binary::const_iterator iterator)
-{
-    size_t dimmSize = 0;
-    if ((iterator[constants::SPD_BYTE_2] & constants::SPD_BYTE_MASK) ==
-        constants::SPD_DRAM_TYPE_DDR4)
-    {
-        dimmSize = getDdr4BasedDDimmSize(iterator);
-    }
-    else if ((iterator[constants::SPD_BYTE_2] & constants::SPD_BYTE_MASK) ==
-             constants::SPD_DRAM_TYPE_DDR5)
-    {
-        dimmSize = getDdr5BasedDDimmSize(iterator);
-    }
-    else
-    {
-        cerr << "Error: DDIMM is neither DDR4 nor DDR5. DDIMM Byte 2 value ["
-             << iterator[constants::SPD_BYTE_2] << "]";
-    }
-    return dimmSize;
-}
-
-kwdVpdMap memoryVpdParser::readKeywords(Binary::const_iterator iterator)
-{
-    KeywordVpdMap map{};
-
-    // collect Dimm size value
-    auto dimmSize = getDDimmSize(iterator);
-    if (!dimmSize)
-    {
-        cerr << "Error: Calculated dimm size is 0.";
-    }
-
-    map.emplace("MemorySizeInKB", dimmSize);
-    // point the iterator to DIMM data and skip "11S"
-    advance(iterator, MEMORY_VPD_DATA_START + 3);
-    Binary partNumber(iterator, iterator + PART_NUM_LEN);
-
-    advance(iterator, PART_NUM_LEN);
-    Binary serialNumber(iterator, iterator + SERIAL_NUM_LEN);
-
-    advance(iterator, SERIAL_NUM_LEN);
-    Binary ccin(iterator, iterator + CCIN_LEN);
-
-    Binary mfgId(DRAM_MANUFACTURER_ID_LENGTH);
-    std::copy_n((memVpd.cbegin() + DRAM_MANUFACTURER_ID_OFFSET),
-                DRAM_MANUFACTURER_ID_LENGTH, mfgId.begin());
-
-    map.emplace("FN", partNumber);
-    map.emplace("PN", move(partNumber));
-    map.emplace("SN", move(serialNumber));
-    map.emplace("CC", move(ccin));
-    map.emplace("DI", move(mfgId));
-
-    return map;
-}
-
-variant<kwdVpdMap, Store> memoryVpdParser::parse()
-{
-    // Read the data and return the map
-    auto iterator = memVpd.cbegin();
-    auto vpdDataMap = readKeywords(iterator);
-
-    return vpdDataMap;
-}
-
-std::string memoryVpdParser::getInterfaceName() const
-{
-    return memVpdInf;
-}
-
-} // namespace parser
-} // namespace memory
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-parser/memory_vpd_parser.hpp b/vpd-parser/memory_vpd_parser.hpp
deleted file mode 100644
index 36e84e2..0000000
--- a/vpd-parser/memory_vpd_parser.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-#pragma once
-
-#include "impl.hpp"
-#include "parser_interface.hpp"
-#include "types.hpp"
-
-namespace openpower
-{
-namespace vpd
-{
-namespace memory
-{
-namespace parser
-{
-using ParserInterface = openpower::vpd::parser::interface::ParserInterface;
-using kwdVpdMap = openpower::vpd::inventory::KeywordVpdMap;
-
-class memoryVpdParser : public ParserInterface
-{
-  public:
-    memoryVpdParser() = delete;
-    memoryVpdParser(const memoryVpdParser&) = delete;
-    memoryVpdParser& operator=(const memoryVpdParser&) = delete;
-    memoryVpdParser(memoryVpdParser&&) = delete;
-    memoryVpdParser& operator=(memoryVpdParser&&) = delete;
-    ~memoryVpdParser() = default;
-
-    /**
-     * @brief Constructor
-     *
-     * Move memVpdVector to parser object's memVpdVector
-     */
-    memoryVpdParser(const Binary& VpdVector) : memVpd(VpdVector) {}
-
-    /**
-     * @brief Parse the memory VPD binary data.
-     * Collects and emplace the keyword-value pairs in map.
-     *
-     * @return map of keyword:value
-     */
-    std::variant<kwdVpdMap, Store> parse();
-
-    /**
-     * @brief An api to return interface name with respect to
-     * publish data on cache
-     *
-     * @return - Interface name for that vpd type.
-     */
-    std::string getInterfaceName() const;
-
-  private:
-    /**
-     * @brief An api to read keywords.
-     *
-     * @return- map of kwd:value
-     */
-    kwdVpdMap readKeywords(Binary::const_iterator iterator);
-
-    /**
-     * @brief This function calculates dimm size from DDIMM VPD
-     *
-     * @param[in] iterator - iterator to buffer containing VPD
-     * @return calculated data or 0 in case of any error.
-     */
-    size_t getDDimmSize(Binary::const_iterator iterator);
-
-    /**
-     * @brief This function calculates DDR4 based DDIMM's capacity
-     *
-     * @param[in] iterator - iterator to buffer containing VPD
-     * @return calculated data or 0 in case of any error.
-     */
-    auto getDdr4BasedDDimmSize(Binary::const_iterator iterator);
-
-    /**
-     * @brief This function calculates DDR5 based DDIMM's capacity
-     *
-     * @param[in] iterator - iterator to buffer containing VPD
-     * @return calculated data or 0 in case of any error.
-     */
-    auto getDdr5BasedDDimmSize(Binary::const_iterator iterator);
-
-    /**
-     * @brief This function calculates DDR5 based die per package
-     *
-     * @param[in] l_ByteValue - the bit value for calculation
-     * @return die per package value.
-     */
-    uint8_t getDDR5DiePerPackage(uint8_t l_ByteValue);
-
-    /**
-     * @brief This function calculates DDR5 based density per die
-     *
-     * @param[in] l_ByteValue - the bit value for calculation
-     * @return density per die.
-     */
-    uint8_t getDDR5DensityPerDie(uint8_t l_ByteValue);
-
-    /**
-     * @brief This function checks the validity of the bits
-     *
-     * @param[in] l_ByteValue - the byte value with relevant bits
-     * @param[in] shift - shifter value to selects needed bits
-     * @param[in] minValue - minimum value it can contain
-     * @param[in] maxValue - maximum value it can contain
-     * @return true if valid else false.
-     */
-    bool checkValidValue(uint8_t l_ByteValue, uint8_t shift, uint8_t minValue,
-                         uint8_t maxValue);
-
-    // vdp file to be parsed
-    const Binary& memVpd;
-};
-} // namespace parser
-} // namespace memory
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-parser/parser_factory.cpp b/vpd-parser/parser_factory.cpp
deleted file mode 100644
index 04d4960..0000000
--- a/vpd-parser/parser_factory.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-#include "parser_factory.hpp"
-
-#include "const.hpp"
-#include "ibm_vpd_utils.hpp"
-#include "ipz_parser.hpp"
-#include "isdimm_vpd_parser.hpp"
-#include "keyword_vpd_parser.hpp"
-#include "memory_vpd_parser.hpp"
-#include "vpd_exceptions.hpp"
-
-using namespace vpd::keyword::parser;
-using namespace openpower::vpd::memory::parser;
-using namespace openpower::vpd::isdimm::parser;
-using namespace openpower::vpd::parser::interface;
-using namespace openpower::vpd::ipz::parser;
-using namespace openpower::vpd::exceptions;
-using namespace openpower::vpd::constants;
-
-namespace openpower
-{
-namespace vpd
-{
-namespace parser
-{
-namespace factory
-{
-interface::ParserInterface* ParserFactory::getParser(
-    const Binary& vpdVector, const std::string& inventoryPath,
-    const std::string& vpdFilePath, uint32_t vpdStartOffset)
-{
-    vpdType type = vpdTypeCheck(vpdVector);
-
-    switch (type)
-    {
-        case IPZ_VPD:
-        {
-            return new IpzVpdParser(vpdVector, inventoryPath, vpdFilePath,
-                                    vpdStartOffset);
-        }
-
-        case KEYWORD_VPD:
-        {
-            return new KeywordVpdParser(vpdVector);
-        }
-
-        case DDR4_DDIMM_MEMORY_VPD:
-        case DDR5_DDIMM_MEMORY_VPD:
-        {
-            return new memoryVpdParser(vpdVector);
-        }
-
-        case DDR4_ISDIMM_MEMORY_VPD:
-        case DDR5_ISDIMM_MEMORY_VPD:
-        {
-            return new isdimmVpdParser(vpdVector);
-        }
-
-        default:
-            throw VpdDataException("Unable to determine VPD format");
-    }
-}
-
-void ParserFactory::freeParser(interface::ParserInterface* parser)
-{
-    if (parser)
-    {
-        delete parser;
-        parser = nullptr;
-    }
-}
-
-} // namespace factory
-} // namespace parser
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-parser/parser_factory.hpp b/vpd-parser/parser_factory.hpp
deleted file mode 100644
index f6f54c3..0000000
--- a/vpd-parser/parser_factory.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#pragma once
-#include "parser_interface.hpp"
-#include "types.hpp"
-
-namespace openpower
-{
-namespace vpd
-{
-namespace parser
-{
-namespace factory
-{
-/** @class ParserFactory
- *  @brief Factory class to instantiate concrete parser class.
- *
- *  This class should be used to instantiate an instance of parser class based
- *  on the typeof vpd file.
- */
-
-class ParserFactory
-{
-  public:
-    ParserFactory() = delete;
-    ~ParserFactory() = delete;
-    ParserFactory(const ParserFactory&) = delete;
-    ParserFactory& operator=(const ParserFactory&) = delete;
-    ParserFactory(ParserFactory&&) = delete;
-    ParserFactory& operator=(ParserFactory&&) = delete;
-
-    /**
-     * @brief A method to get object of concrete parser class.
-     * @param[in] - vpd file to check for the type.
-     * @param[in] - InventoryPath to call out FRU in case PEL is logged.
-     * @param[in] - vpdFilePath for VPD HW path.
-     * @param[in] - vpdStartOffset for starting offset of VPD.
-     * @return - Pointer to concrete parser class object.
-     */
-    static interface::ParserInterface*
-        getParser(const Binary& vpdVector, const std::string& inventoryPath,
-                  const std::string& vpdFilePath, uint32_t vpdStartOffset);
-
-    /**
-     * @brief A method to delete the parser object.
-     * @param[in] - Pointer to the parser object.
-     */
-    static void freeParser(interface::ParserInterface* parser);
-}; // ParserFactory
-
-} // namespace factory
-} // namespace parser
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-parser/parser_interface.hpp b/vpd-parser/parser_interface.hpp
deleted file mode 100644
index 259ef86..0000000
--- a/vpd-parser/parser_interface.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#pragma once
-
-#include "store.hpp"
-#include "types.hpp"
-
-#include <variant>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace parser
-{
-namespace interface
-{
-using kwdVpdMap = openpower::vpd::inventory::KeywordVpdMap;
-
-/** @class ParserInterface
- *  @brief Interface class for vpd parsers.
- *
- *  Any concrete parser class, implementing the parser logic needs to
- *  derive from this interface class and override the methods declared
- *  in this class.
- */
-class ParserInterface
-{
-  public:
-    /**
-     * @brief An api to implement parsing logic for VPD file.
-     * Needs to be implemented by all the class deriving from
-     * parser interface.
-     *
-     * @return parsed format for vpd data, depending upon the
-     * parsing logic.
-     */
-    virtual std::variant<kwdVpdMap, Store> parse() = 0;
-
-    /**
-     * @brief An api to return interface name which will hold the
-     * data on cache.
-     * Needs to be implemented by all the class deriving fronm
-     * parser interface
-     *
-     * @return - Interface name for that vpd type.
-     */
-    virtual std::string getInterfaceName() const = 0;
-    // virtual void test() = 0;
-
-    /**
-     * @brief Virtual destructor for the interface.
-     */
-    virtual ~ParserInterface() {}
-
-}; // class Parserinterface
-} // namespace interface
-} // namespace parser
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd-tool/README.md b/vpd-tool/README.md
new file mode 100644
index 0000000..4d02336
--- /dev/null
+++ b/vpd-tool/README.md
@@ -0,0 +1,6 @@
+# VPD Tool Overview
+
+VPD Tool is designed for managing BMC system FRU's Vital Product Data(VPD). It
+provides command line interface to read and write FRU's VPD. More information
+can be found
+[here](https://github.ibm.com/openbmc/openbmc/wiki/VPD-TOOL-HELPER).
diff --git a/vpd-tool/include/tool_constants.hpp b/vpd-tool/include/tool_constants.hpp
new file mode 100644
index 0000000..6e89957
--- /dev/null
+++ b/vpd-tool/include/tool_constants.hpp
@@ -0,0 +1,34 @@
+#pragma once
+
+#include <cstdint>
+
+namespace vpd
+{
+namespace constants
+{
+static constexpr auto KEYWORD_SIZE = 2;
+static constexpr auto RECORD_SIZE = 4;
+static constexpr auto INDENTATION = 4;
+static constexpr auto SUCCESS = 0;
+static constexpr auto FAILURE = -1;
+
+// To be explicitly used for string comparison.
+static constexpr auto STR_CMP_SUCCESS = 0;
+
+constexpr auto inventoryManagerService =
+    "xyz.openbmc_project.Inventory.Manager";
+constexpr auto baseInventoryPath = "/xyz/openbmc_project/inventory";
+constexpr auto ipzVpdInfPrefix = "com.ibm.ipzvpd.";
+
+constexpr auto vpdManagerService = "com.ibm.VPD.Manager";
+constexpr auto vpdManagerObjectPath = "/com/ibm/VPD/Manager";
+constexpr auto vpdManagerInfName = "com.ibm.VPD.Manager";
+constexpr auto inventoryItemInf = "xyz.openbmc_project.Inventory.Item";
+constexpr auto kwdVpdInf = "com.ibm.ipzvpd.VINI";
+constexpr auto locationCodeInf = "com.ibm.ipzvpd.Location";
+constexpr auto assetInf = "xyz.openbmc_project.Inventory.Decorator.Asset";
+constexpr auto objectMapperService = "xyz.openbmc_project.ObjectMapper";
+constexpr auto objectMapperObjectPath = "/xyz/openbmc_project/object_mapper";
+constexpr auto objectMapperInfName = "xyz.openbmc_project.ObjectMapper";
+} // namespace constants
+} // namespace vpd
diff --git a/vpd-tool/include/tool_types.hpp b/vpd-tool/include/tool_types.hpp
new file mode 100644
index 0000000..1e9ff7d
--- /dev/null
+++ b/vpd-tool/include/tool_types.hpp
@@ -0,0 +1,83 @@
+#pragma once
+
+#include <sdbusplus/message/types.hpp>
+
+#include <cstdint>
+#include <tuple>
+#include <variant>
+#include <vector>
+
+namespace vpd
+{
+namespace types
+{
+using BinaryVector = std::vector<uint8_t>;
+
+// This covers mostly all the data type supported over DBus for a property.
+// clang-format off
+using DbusVariantType = std::variant<
+    std::vector<std::tuple<std::string, std::string, std::string>>,
+    std::vector<std::string>,
+    std::vector<double>,
+    std::string,
+    int64_t,
+    uint64_t,
+    double,
+    int32_t,
+    uint32_t,
+    int16_t,
+    uint16_t,
+    uint8_t,
+    bool,
+    BinaryVector,
+    std::vector<uint32_t>,
+    std::vector<uint16_t>,
+    sdbusplus::message::object_path,
+    std::tuple<uint64_t, std::vector<std::tuple<std::string, std::string, double, uint64_t>>>,
+    std::vector<std::tuple<std::string, std::string>>,
+    std::vector<std::tuple<uint32_t, std::vector<uint32_t>>>,
+    std::vector<std::tuple<uint32_t, size_t>>,
+    std::vector<std::tuple<sdbusplus::message::object_path, std::string,
+                           std::string, std::string>>
+ >;
+
+//IpzType contains tuple of <Record, Keyword>
+using IpzType = std::tuple<std::string, std::string>;
+
+//ReadVpdParams either of IPZ or keyword format
+using ReadVpdParams = std::variant<IpzType, std::string>;
+
+//KwData contains tuple of <keywordName, KeywordValue>
+using KwData = std::tuple<std::string, BinaryVector>;
+
+//IpzData contains tuple of <RecordName, KeywordName, KeywordValue>
+using IpzData = std::tuple<std::string, std::string, BinaryVector>;
+
+//WriteVpdParams either of IPZ or keyword format
+using WriteVpdParams = std::variant<IpzData, KwData>;
+// Return type of ObjectMapper GetObject API
+using MapperGetObject = std::map<std::string,std::vector<std::string>>;
+
+// Table row data
+using TableRowData = std::vector<std::string>;
+
+// Type used to populate table data
+using TableInputData = std::vector<TableRowData>;
+
+// A table column name-size pair
+using TableColumnNameSizePair = std::pair<std::string, std::size_t>;
+
+enum UserOption
+{
+    Exit,
+    UseBackupDataForAll,
+    UseSystemBackplaneDataForAll,
+    MoreOptions,
+    UseBackupDataForCurrent,
+    UseSystemBackplaneDataForCurrent,
+    NewValueOnBoth,
+    SkipCurrent
+};
+
+} // namespace types
+} // namespace vpd
diff --git a/vpd-tool/include/tool_utils.hpp b/vpd-tool/include/tool_utils.hpp
new file mode 100644
index 0000000..4d650c1
--- /dev/null
+++ b/vpd-tool/include/tool_utils.hpp
@@ -0,0 +1,726 @@
+#pragma once
+
+#include "tool_constants.hpp"
+#include "tool_types.hpp"
+
+#include <nlohmann/json.hpp>
+#include <sdbusplus/bus.hpp>
+#include <sdbusplus/exception.hpp>
+
+#include <fstream>
+#include <iostream>
+
+namespace vpd
+{
+namespace utils
+{
+/**
+ * @brief An API to read property from Dbus.
+ *
+ * API reads the property value for the specified interface and object path from
+ * the given Dbus service.
+ *
+ * The caller of the API needs to validate the validity and correctness of the
+ * type and value of data returned. The API will just fetch and return the data
+ * without any data validation.
+ *
+ * Note: It will be caller's responsibility to check for empty value returned
+ * and generate appropriate error if required.
+ *
+ * @param[in] i_serviceName - Name of the Dbus service.
+ * @param[in] i_objectPath - Object path under the service.
+ * @param[in] i_interface - Interface under which property exist.
+ * @param[in] i_property - Property whose value is to be read.
+ *
+ * @return - Value read from Dbus.
+ *
+ * @throw std::runtime_error
+ */
+inline types::DbusVariantType readDbusProperty(
+    const std::string& i_serviceName, const std::string& i_objectPath,
+    const std::string& i_interface, const std::string& i_property)
+{
+    types::DbusVariantType l_propertyValue;
+
+    // Mandatory fields to make a dbus call.
+    if (i_serviceName.empty() || i_objectPath.empty() || i_interface.empty() ||
+        i_property.empty())
+    {
+        // TODO: Enable logging when verbose is enabled.
+        /*std::cout << "One of the parameter to make Dbus read call is empty."
+                  << std::endl;*/
+        throw std::runtime_error("Empty Parameter");
+    }
+
+    try
+    {
+        auto l_bus = sdbusplus::bus::new_default();
+        auto l_method =
+            l_bus.new_method_call(i_serviceName.c_str(), i_objectPath.c_str(),
+                                  "org.freedesktop.DBus.Properties", "Get");
+        l_method.append(i_interface, i_property);
+
+        auto result = l_bus.call(l_method);
+        result.read(l_propertyValue);
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        // std::cout << std::string(l_ex.what()) << std::endl;
+        throw std::runtime_error(std::string(l_ex.what()));
+    }
+    return l_propertyValue;
+}
+
+/**
+ * @brief An API to print json data on stdout.
+ *
+ * @param[in] i_jsonData - JSON object.
+ */
+inline void printJson(const nlohmann::json& i_jsonData)
+{
+    try
+    {
+        std::cout << i_jsonData.dump(constants::INDENTATION) << std::endl;
+    }
+    catch (const nlohmann::json::type_error& l_ex)
+    {
+        throw std::runtime_error(
+            "Failed to dump JSON data, error: " + std::string(l_ex.what()));
+    }
+}
+
+/**
+ * @brief An API to convert binary value into ascii/hex representation.
+ *
+ * If given data contains printable characters, ASCII formated string value of
+ * the input data will be returned. Otherwise if the data has any non-printable
+ * value, returns the hex represented value of the given data in string format.
+ *
+ * @param[in] i_keywordValue - Data in binary format.
+ *
+ * @throw - Throws std::bad_alloc or std::terminate in case of error.
+ *
+ * @return - Returns the converted string value.
+ */
+inline std::string getPrintableValue(const types::BinaryVector& i_keywordValue)
+{
+    bool l_allPrintable =
+        std::all_of(i_keywordValue.begin(), i_keywordValue.end(),
+                    [](const auto& l_byte) { return std::isprint(l_byte); });
+
+    std::ostringstream l_oss;
+    if (l_allPrintable)
+    {
+        l_oss << std::string(i_keywordValue.begin(), i_keywordValue.end());
+    }
+    else
+    {
+        l_oss << "0x";
+        for (const auto& l_byte : i_keywordValue)
+        {
+            l_oss << std::setfill('0') << std::setw(2) << std::hex
+                  << static_cast<int>(l_byte);
+        }
+    }
+
+    return l_oss.str();
+}
+
+/**
+ * @brief API to read keyword's value from hardware.
+ *
+ * This API reads keyword's value by requesting DBus service(vpd-manager) who
+ * hosts the 'ReadKeyword' method to read keyword's value.
+ *
+ * @param[in] i_eepromPath - EEPROM file path.
+ * @param[in] i_paramsToReadData - Property whose value has to be read.
+ *
+ * @return - Value read from hardware
+ *
+ * @throw std::runtime_error, sdbusplus::exception::SdBusError
+ */
+inline types::DbusVariantType
+    readKeywordFromHardware(const std::string& i_eepromPath,
+                            const types::ReadVpdParams i_paramsToReadData)
+{
+    if (i_eepromPath.empty())
+    {
+        throw std::runtime_error("Empty EEPROM path");
+    }
+
+    try
+    {
+        types::DbusVariantType l_propertyValue;
+
+        auto l_bus = sdbusplus::bus::new_default();
+
+        auto l_method = l_bus.new_method_call(
+            constants::vpdManagerService, constants::vpdManagerObjectPath,
+            constants::vpdManagerInfName, "ReadKeyword");
+
+        l_method.append(i_eepromPath, i_paramsToReadData);
+        auto l_result = l_bus.call(l_method);
+
+        l_result.read(l_propertyValue);
+
+        return l_propertyValue;
+    }
+    catch (const sdbusplus::exception::SdBusError& l_error)
+    {
+        throw;
+    }
+}
+
+/**
+ * @brief API to save keyword's value on file.
+ *
+ * API writes keyword's value on the given file path. If the data is in hex
+ * format, API strips '0x' and saves the value on the given file.
+ *
+ * @param[in] i_filePath - File path.
+ * @param[in] i_keywordValue - Keyword's value.
+ *
+ * @return - true on successfully writing to file, false otherwise.
+ */
+inline bool saveToFile(const std::string& i_filePath,
+                       const std::string& i_keywordValue)
+{
+    bool l_returnStatus = false;
+
+    if (i_keywordValue.empty())
+    {
+        // ToDo: log only when verbose is enabled
+        std::cerr << "Save to file[ " << i_filePath
+                  << "] failed, reason: Empty keyword's value received"
+                  << std::endl;
+        return l_returnStatus;
+    }
+
+    std::string l_keywordValue{i_keywordValue};
+    if (i_keywordValue.substr(0, 2).compare("0x") == constants::STR_CMP_SUCCESS)
+    {
+        l_keywordValue = i_keywordValue.substr(2);
+    }
+
+    std::ofstream l_outPutFileStream;
+    l_outPutFileStream.exceptions(
+        std::ifstream::badbit | std::ifstream::failbit);
+    try
+    {
+        l_outPutFileStream.open(i_filePath);
+
+        if (l_outPutFileStream.is_open())
+        {
+            l_outPutFileStream.write(l_keywordValue.c_str(),
+                                     l_keywordValue.size());
+            l_returnStatus = true;
+        }
+        else
+        {
+            // ToDo: log only when verbose is enabled
+            std::cerr << "Error opening output file " << i_filePath
+                      << std::endl;
+        }
+    }
+    catch (const std::ios_base::failure& l_ex)
+    {
+        // ToDo: log only when verbose is enabled
+        std::cerr
+            << "Failed to write to file: " << i_filePath
+            << ", either base folder path doesn't exist or internal error occured, error: "
+            << l_ex.what() << '\n';
+    }
+
+    return l_returnStatus;
+}
+
+/**
+ * @brief API to print data in JSON format on console
+ *
+ * @param[in] i_fruPath - FRU path.
+ * @param[in] i_keywordName - Keyword name.
+ * @param[in] i_keywordStrValue - Keyword's value.
+ */
+inline void displayOnConsole(const std::string& i_fruPath,
+                             const std::string& i_keywordName,
+                             const std::string& i_keywordStrValue)
+{
+    nlohmann::json l_resultInJson = nlohmann::json::object({});
+    nlohmann::json l_keywordValInJson = nlohmann::json::object({});
+
+    l_keywordValInJson.emplace(i_keywordName, i_keywordStrValue);
+    l_resultInJson.emplace(i_fruPath, l_keywordValInJson);
+
+    printJson(l_resultInJson);
+}
+
+/**
+ * @brief API to write keyword's value.
+ *
+ * This API writes keyword's value by requesting DBus service(vpd-manager) who
+ * hosts the 'UpdateKeyword' method to update keyword's value.
+ *
+ * @param[in] i_vpdPath - EEPROM or object path, where keyword is present.
+ * @param[in] i_paramsToWriteData - Data required to update keyword's value.
+ *
+ * @return - Number of bytes written on success, -1 on failure.
+ *
+ * @throw - std::runtime_error, sdbusplus::exception::SdBusError
+ */
+inline int writeKeyword(const std::string& i_vpdPath,
+                        const types::WriteVpdParams& i_paramsToWriteData)
+{
+    if (i_vpdPath.empty())
+    {
+        throw std::runtime_error("Empty path");
+    }
+
+    int l_rc = constants::FAILURE;
+    auto l_bus = sdbusplus::bus::new_default();
+
+    auto l_method = l_bus.new_method_call(
+        constants::vpdManagerService, constants::vpdManagerObjectPath,
+        constants::vpdManagerInfName, "UpdateKeyword");
+
+    l_method.append(i_vpdPath, i_paramsToWriteData);
+    auto l_result = l_bus.call(l_method);
+
+    l_result.read(l_rc);
+    return l_rc;
+}
+
+/**
+ * @brief API to write keyword's value on hardware.
+ *
+ * This API writes keyword's value by requesting DBus service(vpd-manager) who
+ * hosts the 'WriteKeywordOnHardware' method to update keyword's value.
+ *
+ * Note: This API updates keyword's value only on the given hardware path, any
+ * backup or redundant EEPROM (if exists) paths won't get updated.
+ *
+ * @param[in] i_eepromPath - EEPROM where keyword is present.
+ * @param[in] i_paramsToWriteData - Data required to update keyword's value.
+ *
+ * @return - Number of bytes written on success, -1 on failure.
+ *
+ * @throw - std::runtime_error, sdbusplus::exception::SdBusError
+ */
+inline int
+    writeKeywordOnHardware(const std::string& i_eepromPath,
+                           const types::WriteVpdParams& i_paramsToWriteData)
+{
+    if (i_eepromPath.empty())
+    {
+        throw std::runtime_error("Empty path");
+    }
+
+    int l_rc = constants::FAILURE;
+    auto l_bus = sdbusplus::bus::new_default();
+
+    auto l_method = l_bus.new_method_call(
+        constants::vpdManagerService, constants::vpdManagerObjectPath,
+        constants::vpdManagerInfName, "WriteKeywordOnHardware");
+
+    l_method.append(i_eepromPath, i_paramsToWriteData);
+    auto l_result = l_bus.call(l_method);
+
+    l_result.read(l_rc);
+
+    if (l_rc > 0)
+    {
+        std::cout << "Data updated successfully " << std::endl;
+    }
+    return l_rc;
+}
+
+/**
+ * @brief API to get data in binary format.
+ *
+ * This API converts given string value into array of binary data.
+ *
+ * @param[in] i_value - Input data.
+ *
+ * @return - Array of binary data on success, throws as exception in case
+ * of any error.
+ *
+ * @throw std::runtime_error, std::out_of_range, std::bad_alloc,
+ * std::invalid_argument
+ */
+inline types::BinaryVector convertToBinary(const std::string& i_value)
+{
+    if (i_value.empty())
+    {
+        throw std::runtime_error(
+            "Provide a valid hexadecimal input. (Ex. 0x30313233)");
+    }
+
+    std::vector<uint8_t> l_binaryValue{};
+
+    if (i_value.substr(0, 2).compare("0x") == constants::STR_CMP_SUCCESS)
+    {
+        if (i_value.length() % 2 != 0)
+        {
+            throw std::runtime_error(
+                "Write option accepts 2 digit hex numbers. (Ex. 0x1 "
+                "should be given as 0x01).");
+        }
+
+        auto l_value = i_value.substr(2);
+
+        if (l_value.empty())
+        {
+            throw std::runtime_error(
+                "Provide a valid hexadecimal input. (Ex. 0x30313233)");
+        }
+
+        if (l_value.find_first_not_of("0123456789abcdefABCDEF") !=
+            std::string::npos)
+        {
+            throw std::runtime_error("Provide a valid hexadecimal input.");
+        }
+
+        for (size_t l_pos = 0; l_pos < l_value.length(); l_pos += 2)
+        {
+            uint8_t l_byte = static_cast<uint8_t>(
+                std::stoi(l_value.substr(l_pos, 2), nullptr, 16));
+            l_binaryValue.push_back(l_byte);
+        }
+    }
+    else
+    {
+        l_binaryValue.assign(i_value.begin(), i_value.end());
+    }
+    return l_binaryValue;
+}
+
+/**
+ * @brief API to parse respective JSON.
+ *
+ * @param[in] i_pathToJson - Path to JSON.
+ *
+ * @return Parsed JSON, throws exception in case of error.
+ *
+ * @throw std::runtime_error
+ */
+inline nlohmann::json getParsedJson(const std::string& i_pathToJson)
+{
+    if (i_pathToJson.empty())
+    {
+        throw std::runtime_error("Path to JSON is missing");
+    }
+
+    std::error_code l_ec;
+    if (!std::filesystem::exists(i_pathToJson, l_ec))
+    {
+        std::string l_message{
+            "file system call failed for file: " + i_pathToJson};
+
+        if (l_ec)
+        {
+            l_message += ", error: " + l_ec.message();
+        }
+        throw std::runtime_error(l_message);
+    }
+
+    if (std::filesystem::is_empty(i_pathToJson, l_ec))
+    {
+        throw std::runtime_error("Empty file: " + i_pathToJson);
+    }
+    else if (l_ec)
+    {
+        throw std::runtime_error("is_empty file system call failed for file: " +
+                                 i_pathToJson + ", error: " + l_ec.message());
+    }
+
+    std::ifstream l_jsonFile(i_pathToJson);
+    if (!l_jsonFile)
+    {
+        throw std::runtime_error("Failed to access Json path: " + i_pathToJson);
+    }
+
+    try
+    {
+        return nlohmann::json::parse(l_jsonFile);
+    }
+    catch (const nlohmann::json::parse_error& l_ex)
+    {
+        throw std::runtime_error("Failed to parse JSON file: " + i_pathToJson);
+    }
+}
+
+/**
+ * @brief API to get list of interfaces under a given object path.
+ *
+ * Given a DBus object path, this API returns a map of service -> implemented
+ * interface(s) under that object path. This API calls DBus method GetObject
+ * hosted by ObjectMapper DBus service.
+ *
+ * @param[in] i_objectPath - DBus object path.
+ * @param[in] i_constrainingInterfaces - An array of result set constraining
+ * interfaces.
+ *
+ * @return On success, returns a map of service -> implemented interface(s),
+ * else returns an empty map. The caller of this
+ * API should check for empty map.
+ */
+inline types::MapperGetObject GetServiceInterfacesForObject(
+    const std::string& i_objectPath,
+    const std::vector<std::string>& i_constrainingInterfaces) noexcept
+{
+    types::MapperGetObject l_serviceInfMap;
+    if (i_objectPath.empty())
+    {
+        // TODO: log only when verbose is enabled
+        std::cerr << "Object path is empty." << std::endl;
+        return l_serviceInfMap;
+    }
+
+    try
+    {
+        auto l_bus = sdbusplus::bus::new_default();
+        auto l_method = l_bus.new_method_call(
+            constants::objectMapperService, constants::objectMapperObjectPath,
+            constants::objectMapperInfName, "GetObject");
+
+        l_method.append(i_objectPath, i_constrainingInterfaces);
+
+        auto l_result = l_bus.call(l_method);
+        l_result.read(l_serviceInfMap);
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        // TODO: log only when verbose is enabled
+        // std::cerr << std::string(l_ex.what()) << std::endl;
+    }
+    return l_serviceInfMap;
+}
+
+/** @brief API to get list of sub tree paths for a given object path
+ *
+ * Given a DBus object path, this API returns a list of object paths under that
+ * object path in the DBus tree. This API calls DBus method GetSubTreePaths
+ * hosted by ObjectMapper DBus service.
+ *
+ * @param[in] i_objectPath - DBus object path.
+ * @param[in] i_constrainingInterfaces - An array of result set constraining
+ * interfaces.
+ * @param[in] i_depth - The maximum subtree depth for which results should be
+ * fetched. For unconstrained fetches use a depth of zero.
+ *
+ * @return On success, returns a std::vector<std::string> of object paths in
+ * Phosphor Inventory Manager DBus service's tree, else returns an empty vector.
+ * The caller of this API should check for empty vector.
+ */
+inline std::vector<std::string> GetSubTreePaths(
+    const std::string i_objectPath, const int i_depth = 0,
+    const std::vector<std::string>& i_constrainingInterfaces = {}) noexcept
+{
+    std::vector<std::string> l_objectPaths;
+
+    try
+    {
+        auto l_bus = sdbusplus::bus::new_default();
+        auto l_method = l_bus.new_method_call(
+            constants::objectMapperService, constants::objectMapperObjectPath,
+            constants::objectMapperInfName, "GetSubTreePaths");
+
+        l_method.append(i_objectPath, i_depth, i_constrainingInterfaces);
+
+        auto l_result = l_bus.call(l_method);
+        l_result.read(l_objectPaths);
+    }
+    catch (const sdbusplus::exception::SdBusError& l_ex)
+    {
+        // TODO: log only when verbose is enabled
+        std::cerr << std::string(l_ex.what()) << std::endl;
+    }
+    return l_objectPaths;
+}
+
+/**
+ * @brief A class to print data in tabular format
+ *
+ * This class implements methods to print data in a two dimensional tabular
+ * format. All entries in the table must be in string format.
+ *
+ */
+class Table
+{
+    class Column : public types::TableColumnNameSizePair
+    {
+      public:
+        /**
+         * @brief API to get the name of the Column
+         *
+         * @return Name of the Column.
+         */
+        const std::string& Name() const
+        {
+            return this->first;
+        }
+
+        /**
+         * @brief API to get the width of the Column
+         *
+         * @return Width of the Column.
+         */
+        std::size_t Width() const
+        {
+            return this->second;
+        }
+    };
+
+    // Current width of the table
+    std::size_t m_currentWidth;
+
+    // Character to be used as fill character between entries
+    char m_fillCharacter;
+
+    // Separator character to be used between columns
+    char m_separator;
+
+    // Array of columns
+    std::vector<Column> m_columns;
+
+    /**
+     * @brief API to Print Header
+     *
+     * Header line prints the names of the Column headers separated by the
+     * specified separator character and spaced accordingly.
+     *
+     * @throw std::out_of_range, std::length_error, std::bad_alloc
+     */
+    void PrintHeader() const
+    {
+        for (const auto& l_column : m_columns)
+        {
+            PrintEntry(l_column.Name(), l_column.Width());
+        }
+        std::cout << m_separator << std::endl;
+    }
+
+    /**
+     * @brief API to Print Horizontal Line
+     *
+     * A horizontal line is a sequence of '*'s.
+     *
+     * @throw std::out_of_range, std::length_error, std::bad_alloc
+     */
+    void PrintHorizontalLine() const
+    {
+        std::cout << std::string(m_currentWidth, '*') << std::endl;
+    }
+
+    /**
+     * @brief API to print an entry in the table
+     *
+     * An entry is a separator character followed by the text to print.
+     * The text is centre-aligned.
+     *
+     * @param[in] i_text - text to print
+     * @param[in] i_columnWidth - width of the column
+     *
+     * @throw std::out_of_range, std::length_error, std::bad_alloc
+     */
+    void PrintEntry(const std::string& i_text, std::size_t i_columnWidth) const
+    {
+        const std::size_t l_textLength{i_text.length()};
+
+        constexpr std::size_t l_minFillChars{3};
+        const std::size_t l_numFillChars =
+            ((l_textLength >= i_columnWidth ? l_minFillChars
+                                            : i_columnWidth - l_textLength)) -
+            1; // -1 for the separator character
+
+        const unsigned l_oddFill = l_numFillChars % 2;
+
+        std::cout << m_separator
+                  << std::string((l_numFillChars / 2) + l_oddFill,
+                                 m_fillCharacter)
+                  << i_text << std::string(l_numFillChars / 2, m_fillCharacter);
+    }
+
+  public:
+    /**
+     * @brief Table Constructor
+     *
+     * Parameterized constructor for a Table object
+     *
+     */
+    constexpr explicit Table(const char i_fillCharacter = ' ',
+                             const char i_separator = '|') noexcept :
+        m_currentWidth{0}, m_fillCharacter{i_fillCharacter},
+        m_separator{i_separator}
+    {}
+
+    // deleted methods
+    Table(const Table&) = delete;
+    Table operator=(const Table&) = delete;
+    Table(const Table&&) = delete;
+    Table operator=(const Table&&) = delete;
+
+    ~Table() = default;
+
+    /**
+     * @brief API to add column to Table
+     *
+     * @param[in] i_name - Name of the column.
+     *
+     * @param[in] i_width - Width to allocate for the column.
+     *
+     * @return On success returns 0, otherwise returns -1.
+     */
+    int AddColumn(const std::string& i_name, std::size_t i_width)
+    {
+        if (i_width < i_name.length())
+            return constants::FAILURE;
+        m_columns.emplace_back(types::TableColumnNameSizePair(i_name, i_width));
+        m_currentWidth += i_width;
+        return constants::SUCCESS;
+    }
+
+    /**
+     * @brief API to print the Table to console.
+     *
+     * This API prints the table data to console.
+     *
+     * @param[in] i_tableData - The data to be printed.
+     *
+     * @return On success returns 0, otherwise returns -1.
+     *
+     * @throw std::out_of_range, std::length_error, std::bad_alloc
+     */
+    int Print(const types::TableInputData& i_tableData) const
+    {
+        PrintHorizontalLine();
+        PrintHeader();
+        PrintHorizontalLine();
+
+        // print the table data
+        for (const auto& l_row : i_tableData)
+        {
+            unsigned l_columnNumber{0};
+
+            // number of columns in input data is greater than the number of
+            // columns specified in Table
+            if (l_row.size() > m_columns.size())
+            {
+                return constants::FAILURE;
+            }
+
+            for (const auto& l_entry : l_row)
+            {
+                PrintEntry(l_entry, m_columns[l_columnNumber].Width());
+
+                ++l_columnNumber;
+            }
+            std::cout << m_separator << std::endl;
+        }
+        PrintHorizontalLine();
+        return constants::SUCCESS;
+    }
+};
+
+} // namespace utils
+} // namespace vpd
diff --git a/vpd-tool/include/vpd_tool.hpp b/vpd-tool/include/vpd_tool.hpp
new file mode 100644
index 0000000..80be8e5
--- /dev/null
+++ b/vpd-tool/include/vpd_tool.hpp
@@ -0,0 +1,287 @@
+#pragma once
+
+#include "tool_utils.hpp"
+
+#include <nlohmann/json.hpp>
+
+#include <optional>
+#include <string>
+
+namespace vpd
+{
+/**
+ * @brief Class to support operations on VPD.
+ *
+ * The class provides API's to,
+ * Read keyword value from DBus/hardware.
+ * Update keyword value to DBus/hardware.
+ * Dump DBus object's critical information.
+ * Fix system VPD if any mismatch between DBus and hardware data.
+ * Reset specific system VPD keywords to its default value.
+ * Force VPD collection for hardware.
+ */
+class VpdTool
+{
+  private:
+    /**
+     * @brief Get specific properties of a FRU in JSON format.
+     *
+     * For a given object path of a FRU, this API returns the following
+     * properties of the FRU in JSON format:
+     * - Pretty Name, Location Code, Sub Model
+     * - SN, PN, CC, FN, DR keywords under VINI record.
+     *
+     * @param[in] i_objectPath - DBus object path
+     *
+     * @return On success, returns the properties of the FRU in JSON format,
+     * otherwise returns an empty JSON.
+     * If FRU's "Present" property is false, this API returns an empty JSON.
+     * Note: The caller of this API should handle empty JSON.
+     *
+     * @throw json::exception
+     */
+    nlohmann::json getFruProperties(const std::string& i_objectPath) const;
+
+    /**
+     * @brief Get any inventory property in JSON.
+     *
+     * API to get any property of a FRU in JSON format. Given an object path,
+     * interface and property name, this API does a D-Bus read property on PIM
+     * to get the value of that property and returns it in JSON format. This API
+     * returns empty JSON in case of failure. The caller of the API must check
+     * for empty JSON.
+     *
+     * @param[in] i_objectPath - DBus object path
+     * @param[in] i_interface - Interface name
+     * @param[in] i_propertyName - Property name
+     *
+     * @return On success, returns the property and its value in JSON format,
+     * otherwise return empty JSON.
+     * {"SN" : "ABCD"}
+     */
+    template <typename PropertyType>
+    nlohmann::json getInventoryPropertyJson(
+        const std::string& i_objectPath, const std::string& i_interface,
+        const std::string& i_propertyName) const noexcept;
+
+    /**
+     * @brief Get the "type" property for a FRU.
+     *
+     * Given a FRU path, and parsed System Config JSON, this API returns the
+     * "type" property for the FRU in JSON format. This API gets
+     * these properties from Phosphor Inventory Manager.
+     *
+     * @param[in] i_objectPath - DBus object path.
+     *
+     * @return On success, returns the "type" property in JSON
+     * format, otherwise returns empty JSON. The caller of this API should
+     * handle empty JSON.
+     */
+    nlohmann::json
+        getFruTypeProperty(const std::string& i_objectPath) const noexcept;
+
+    /**
+     * @brief Check if a FRU is present in the system.
+     *
+     * Given a FRU's object path, this API checks if the FRU is present in the
+     * system by reading the "Present" property of the FRU.
+     *
+     * @param[in] i_objectPath - DBus object path.
+     *
+     * @return true if FRU's "Present" property is true, false otherwise.
+     */
+    bool isFruPresent(const std::string& i_objectPath) const noexcept;
+
+    /**
+     * @brief An API to get backup-restore config JSON of the system.
+     *
+     * API gets this file by prasing system config JSON file and reading
+     * backupRestoreConfigPath tag.
+     *
+     * @return On success returns valid JSON object, otherwise returns empty
+     * JSON object.
+     *
+     * Note: The caller of this API should verify, is received JSON object is
+     * empty or not.
+     */
+    nlohmann::json getBackupRestoreCfgJsonObj() const noexcept;
+
+    /**
+     * @brief Prints the user options for fix system VPD command.
+     *
+     * @param[in] i_option - Option to use.
+     */
+    void printFixSystemVpdOption(
+        const types::UserOption& i_option) const noexcept;
+
+    /**
+     * @brief API to update source and destination keyword's value.
+     *
+     * API fetches source and destination keyword's value,
+     * for each keyword entries found in the input JSON object and updates the
+     * JSON object. If the path(source / destination) in JSON object is
+     * inventory object path, API sends the request to Inventory.Manager DBus
+     * service. Otherwise if its a hardware path, API sends the request to
+     * vpd-manager DBus service to get the keyword's value.
+     *
+     * @param[in,out] io_parsedJsonObj - Parsed JSON object.
+     *
+     * @return true on success, false in case of any error.
+     */
+    bool fetchKeywordInfo(nlohmann::json& io_parsedJsonObj) const noexcept;
+
+    /**
+     * @brief API to print system VPD keyword's information.
+     *
+     * The API prints source and destination keyword's information in the table
+     * format, found in the JSON object.
+     *
+     * @param[in] i_parsedJsonObj - Parsed JSON object.
+     */
+    void printSystemVpd(const nlohmann::json& i_parsedJsonObj) const noexcept;
+
+    /**
+     * @brief API to update keyword's value.
+     *
+     * API iterates the given JSON object for all record-keyword pairs, if there
+     * is any mismatch between source and destination keyword's value, API calls
+     * the utils::writeKeyword API to update keyword's value.
+     *
+     * Note: writeKeyword API, internally updates primary, backup, redundant
+     * EEPROM paths(if exists) with the given keyword's value.
+     *
+     * @param i_parsedJsonObj - Parsed JSON object.
+     * @param i_useBackupData - Specifies whether to use source or destination
+     * keyword's value to update the keyword's value.
+     *
+     * @return On success return 0, otherwise return -1.
+     */
+    int updateAllKeywords(const nlohmann::json& i_parsedJsonObj,
+                          bool i_useBackupData) const noexcept;
+
+    /**
+     * @brief API to handle more option for fix system VPD command.
+     *
+     * @param i_parsedJsonObj - Parsed JSON object.
+     *
+     * @return On success return 0, otherwise return -1.
+     */
+    int handleMoreOption(const nlohmann::json& i_parsedJsonObj) const noexcept;
+
+  public:
+    /**
+     * @brief Read keyword value.
+     *
+     * API to read VPD keyword's value from the given input path.
+     * If the provided i_onHardware option is true, read keyword's value from
+     * the hardware. Otherwise read keyword's value from DBus.
+     *
+     * @param[in] i_vpdPath - DBus object path or EEPROM path.
+     * @param[in] i_recordName - Record name.
+     * @param[in] i_keywordName - Keyword name.
+     * @param[in] i_onHardware - True if i_vpdPath is EEPROM path, false
+     * otherwise.
+     * @param[in] i_fileToSave - File path to save keyword's value, if not given
+     * result will redirect to a console.
+     *
+     * @return On success return 0, otherwise return -1.
+     */
+    int readKeyword(const std::string& i_vpdPath,
+                    const std::string& i_recordName,
+                    const std::string& i_keywordName, const bool i_onHardware,
+                    const std::string& i_fileToSave = {});
+
+    /**
+     * @brief Dump the given inventory object in JSON format to console.
+     *
+     * For a given object path of a FRU, this API dumps the following properties
+     * of the FRU in JSON format to console:
+     * - Pretty Name, Location Code, Sub Model
+     * - SN, PN, CC, FN, DR keywords under VINI record.
+     * If the FRU's "Present" property is not true, the above properties are not
+     * dumped to console.
+     *
+     * @param[in] i_fruPath - DBus object path.
+     *
+     * @return On success returns 0, otherwise returns -1.
+     */
+    int dumpObject(std::string i_fruPath) const noexcept;
+
+    /**
+     * @brief API to fix system VPD keywords.
+     *
+     * The API to fix the system VPD keywords. Mainly used when there
+     * is a mismatch between the primary and backup(secondary) VPD. User can
+     * choose option to update all primary keywords value with corresponding
+     * backup keywords value or can choose primary keyword value to sync
+     * secondary VPD. Otherwise, user can also interactively choose different
+     * action for individual keyword.
+     *
+     * @return On success returns 0, otherwise returns -1.
+     */
+    int fixSystemVpd() const noexcept;
+
+    /**
+     * @brief Write keyword's value.
+     *
+     * API to update VPD keyword's value to the given input path.
+     * If i_onHardware value in true, i_vpdPath is considered has hardware path
+     * otherwise it will be considered as DBus object path.
+     *
+     * For provided DBus object path both primary path or secondary path will
+     * get updated, also redundant EEPROM(if any) path with new keyword's value.
+     *
+     * In case of hardware path, only given hardware path gets updated with new
+     * keyword’s value, any backup or redundant EEPROM (if exists) paths won't
+     * get updated.
+     *
+     * @param[in] i_vpdPath - DBus object path or EEPROM path.
+     * @param[in] i_recordName - Record name.
+     * @param[in] i_keywordName - Keyword name.
+     * @param[in] i_keywordValue - Keyword value.
+     * @param[in] i_onHardware - True if i_vpdPath is EEPROM path, false
+     * otherwise.
+     *
+     * @return On success returns 0, otherwise returns -1.
+     */
+    int writeKeyword(std::string i_vpdPath, const std::string& i_recordName,
+                     const std::string& i_keywordName,
+                     const std::string& i_keywordValue,
+                     const bool i_onHardware) noexcept;
+
+    /**
+     * @brief Reset specific keywords on System VPD to default value.
+     *
+     * This API resets specific System VPD keywords to default value. The
+     * keyword values are reset on:
+     * 1. Primary EEPROM path.
+     * 2. Secondary EEPROM path.
+     * 3. D-Bus cache.
+     * 4. Backup path.
+     *
+     * @return On success returns 0, otherwise returns -1.
+     */
+    int cleanSystemVpd() const noexcept;
+
+    /**
+     * @brief Dump all the inventory objects in JSON or table format to console.
+     *
+     * This API dumps specific properties of all the inventory objects to
+     * console in JSON or table format to console. The inventory object paths
+     * are extracted from PIM. For each object, the following properties are
+     * dumped to console:
+     * - Present property, Pretty Name, Location Code, Sub Model
+     * - SN, PN, CC, FN, DR keywords under VINI record.
+     * If the "Present" property of a FRU is false, the FRU is not dumped to
+     * console.
+     * FRUs whose object path end in "unit([0-9][0-9]?)" are also not dumped to
+     * console.
+     *
+     * @param[in] i_dumpTable - Flag which specifies if the inventory should be
+     * dumped in table format or not.
+     *
+     * @return On success returns 0, otherwise returns -1.
+     */
+    int dumpInventory(bool i_dumpTable = false) const noexcept;
+};
+} // namespace vpd
diff --git a/vpd-tool/meson.build b/vpd-tool/meson.build
new file mode 100644
index 0000000..a2c1ea1
--- /dev/null
+++ b/vpd-tool/meson.build
@@ -0,0 +1,19 @@
+compiler = meson.get_compiler('cpp')
+if compiler.has_header('CLI/CLI.hpp')
+    CLI11_dep = declare_dependency()
+else
+    CLI11_dep = dependency('CLI11')
+endif
+
+sdbusplus = dependency('sdbusplus', fallback: [ 'sdbusplus', 'sdbusplus_dep' ])
+dependency_list = [CLI11_dep, sdbusplus]
+
+sources = ['src/vpd_tool_main.cpp',
+            'src/vpd_tool.cpp']
+
+vpd_tool_exe = executable('vpd-tool',
+                          sources,
+                          include_directories : ['../', 'include/'],
+                          dependencies: dependency_list,
+                          install: true
+                        )
\ No newline at end of file
diff --git a/vpd-tool/src/vpd_tool.cpp b/vpd-tool/src/vpd_tool.cpp
new file mode 100644
index 0000000..f6e4cd9
--- /dev/null
+++ b/vpd-tool/src/vpd_tool.cpp
@@ -0,0 +1,1195 @@
+#include "config.h"
+
+#include "vpd_tool.hpp"
+
+#include "tool_constants.hpp"
+#include "tool_types.hpp"
+#include "tool_utils.hpp"
+
+#include <iostream>
+#include <regex>
+#include <tuple>
+namespace vpd
+{
+int VpdTool::readKeyword(
+    const std::string& i_vpdPath, const std::string& i_recordName,
+    const std::string& i_keywordName, const bool i_onHardware,
+    const std::string& i_fileToSave)
+{
+    int l_rc = constants::FAILURE;
+    try
+    {
+        types::DbusVariantType l_keywordValue;
+        if (i_onHardware)
+        {
+            l_keywordValue = utils::readKeywordFromHardware(
+                i_vpdPath, std::make_tuple(i_recordName, i_keywordName));
+        }
+        else
+        {
+            std::string l_inventoryObjectPath(
+                constants::baseInventoryPath + i_vpdPath);
+
+            l_keywordValue = utils::readDbusProperty(
+                constants::inventoryManagerService, l_inventoryObjectPath,
+                constants::ipzVpdInfPrefix + i_recordName, i_keywordName);
+        }
+
+        if (const auto l_value =
+                std::get_if<types::BinaryVector>(&l_keywordValue);
+            l_value && !l_value->empty())
+        {
+            // ToDo: Print value in both ASCII and hex formats
+            const std::string& l_keywordStrValue =
+                utils::getPrintableValue(*l_value);
+
+            if (i_fileToSave.empty())
+            {
+                utils::displayOnConsole(i_vpdPath, i_keywordName,
+                                        l_keywordStrValue);
+                l_rc = constants::SUCCESS;
+            }
+            else
+            {
+                if (utils::saveToFile(i_fileToSave, l_keywordStrValue))
+                {
+                    std::cout
+                        << "Value read is saved on the file: " << i_fileToSave
+                        << std::endl;
+                    l_rc = constants::SUCCESS;
+                }
+                else
+                {
+                    std::cerr
+                        << "Error while saving the read value on the file: "
+                        << i_fileToSave
+                        << "\nDisplaying the read value on console"
+                        << std::endl;
+                    utils::displayOnConsole(i_vpdPath, i_keywordName,
+                                            l_keywordStrValue);
+                }
+            }
+        }
+        else
+        {
+            // TODO: Enable logging when verbose is enabled.
+            // std::cout << "Invalid data type or empty data received." <<
+            // std::endl;
+        }
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        /*std::cerr << "Read keyword's value for path: " << i_vpdPath
+                  << ", Record: " << i_recordName
+                  << ", Keyword: " << i_keywordName
+                  << " is failed, exception: " << l_ex.what() << std::endl;*/
+    }
+    return l_rc;
+}
+
+int VpdTool::dumpObject(std::string i_fruPath) const noexcept
+{
+    int l_rc{constants::FAILURE};
+    try
+    {
+        // ToDo: For PFuture system take only full path from the user.
+        i_fruPath = constants::baseInventoryPath + i_fruPath;
+
+        nlohmann::json l_resultJsonArray = nlohmann::json::array({});
+        const nlohmann::json l_fruJson = getFruProperties(i_fruPath);
+        if (!l_fruJson.empty())
+        {
+            l_resultJsonArray += l_fruJson;
+
+            utils::printJson(l_resultJsonArray);
+        }
+        else
+        {
+            std::cout << "FRU [" << i_fruPath
+                      << "] is not present in the system" << std::endl;
+        }
+        l_rc = constants::SUCCESS;
+    }
+    catch (std::exception& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        // std::cerr << "Dump Object failed for FRU [" << i_fruPath
+        //           << "], Error: " << l_ex.what() << std::endl;
+    }
+    return l_rc;
+}
+
+nlohmann::json VpdTool::getFruProperties(const std::string& i_objectPath) const
+{
+    // check if FRU is present in the system
+    if (!isFruPresent(i_objectPath))
+    {
+        return nlohmann::json::object_t();
+    }
+
+    nlohmann::json l_fruJson = nlohmann::json::object_t({});
+
+    l_fruJson.emplace(i_objectPath, nlohmann::json::object_t({}));
+
+    auto& l_fruObject = l_fruJson[i_objectPath];
+
+    const auto l_prettyNameInJson = getInventoryPropertyJson<std::string>(
+        i_objectPath, constants::inventoryItemInf, "PrettyName");
+    if (!l_prettyNameInJson.empty())
+    {
+        l_fruObject.insert(l_prettyNameInJson.cbegin(),
+                           l_prettyNameInJson.cend());
+    }
+
+    const auto l_locationCodeInJson = getInventoryPropertyJson<std::string>(
+        i_objectPath, constants::locationCodeInf, "LocationCode");
+    if (!l_locationCodeInJson.empty())
+    {
+        l_fruObject.insert(l_locationCodeInJson.cbegin(),
+                           l_locationCodeInJson.cend());
+    }
+
+    const auto l_subModelInJson = getInventoryPropertyJson<std::string>(
+        i_objectPath, constants::assetInf, "SubModel");
+
+    if (!l_subModelInJson.empty() &&
+        !l_subModelInJson.value("SubModel", "").empty())
+    {
+        l_fruObject.insert(l_subModelInJson.cbegin(), l_subModelInJson.cend());
+    }
+
+    // Get the properties under VINI interface.
+
+    nlohmann::json l_viniPropertiesInJson = nlohmann::json::object({});
+
+    auto l_readViniKeyWord = [i_objectPath, &l_viniPropertiesInJson,
+                              this](const std::string& i_keyWord) {
+        const nlohmann::json l_keyWordJson =
+            getInventoryPropertyJson<vpd::types::BinaryVector>(
+                i_objectPath, constants::kwdVpdInf, i_keyWord);
+        l_viniPropertiesInJson.insert(l_keyWordJson.cbegin(),
+                                      l_keyWordJson.cend());
+    };
+
+    const std::vector<std::string> l_viniKeywords = {"SN", "PN", "CC", "FN",
+                                                     "DR"};
+
+    std::for_each(l_viniKeywords.cbegin(), l_viniKeywords.cend(),
+                  l_readViniKeyWord);
+
+    if (!l_viniPropertiesInJson.empty())
+    {
+        l_fruObject.insert(l_viniPropertiesInJson.cbegin(),
+                           l_viniPropertiesInJson.cend());
+    }
+
+    const auto l_typePropertyJson = getFruTypeProperty(i_objectPath);
+    if (!l_typePropertyJson.empty())
+    {
+        l_fruObject.insert(l_typePropertyJson.cbegin(),
+                           l_typePropertyJson.cend());
+    }
+
+    return l_fruJson;
+}
+
+template <typename PropertyType>
+nlohmann::json VpdTool::getInventoryPropertyJson(
+    const std::string& i_objectPath, const std::string& i_interface,
+    const std::string& i_propertyName) const noexcept
+{
+    nlohmann::json l_resultInJson = nlohmann::json::object({});
+    try
+    {
+        types::DbusVariantType l_keyWordValue;
+
+        l_keyWordValue =
+            utils::readDbusProperty(constants::inventoryManagerService,
+                                    i_objectPath, i_interface, i_propertyName);
+
+        if (const auto l_value = std::get_if<PropertyType>(&l_keyWordValue))
+        {
+            if constexpr (std::is_same<PropertyType, std::string>::value)
+            {
+                l_resultInJson.emplace(i_propertyName, *l_value);
+            }
+            else if constexpr (std::is_same<PropertyType, bool>::value)
+            {
+                l_resultInJson.emplace(i_propertyName,
+                                       *l_value ? "true" : "false");
+            }
+            else if constexpr (std::is_same<PropertyType,
+                                            types::BinaryVector>::value)
+            {
+                const std::string& l_keywordStrValue =
+                    vpd::utils::getPrintableValue(*l_value);
+
+                l_resultInJson.emplace(i_propertyName, l_keywordStrValue);
+            }
+        }
+        else
+        {
+            // TODO: Enable logging when verbose is enabled.
+            // std::cout << "Invalid data type received." << std::endl;
+        }
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        /*std::cerr << "Read " << i_propertyName << " value for FRU path: " <<
+           i_objectPath
+                  << ", failed with exception: " << l_ex.what() << std::endl;*/
+    }
+    return l_resultInJson;
+}
+
+int VpdTool::fixSystemVpd() const noexcept
+{
+    int l_rc = constants::FAILURE;
+
+    nlohmann::json l_backupRestoreCfgJsonObj = getBackupRestoreCfgJsonObj();
+    if (!fetchKeywordInfo(l_backupRestoreCfgJsonObj))
+    {
+        return l_rc;
+    }
+
+    printSystemVpd(l_backupRestoreCfgJsonObj);
+
+    do
+    {
+        printFixSystemVpdOption(types::UserOption::UseBackupDataForAll);
+        printFixSystemVpdOption(
+            types::UserOption::UseSystemBackplaneDataForAll);
+        printFixSystemVpdOption(types::UserOption::MoreOptions);
+        printFixSystemVpdOption(types::UserOption::Exit);
+
+        int l_userSelectedOption = types::UserOption::Exit;
+        std::cin >> l_userSelectedOption;
+
+        std::cout << std::endl << std::string(191, '=') << std::endl;
+
+        if (types::UserOption::UseBackupDataForAll == l_userSelectedOption)
+        {
+            l_rc = updateAllKeywords(l_backupRestoreCfgJsonObj, true);
+            break;
+        }
+        else if (types::UserOption::UseSystemBackplaneDataForAll ==
+                 l_userSelectedOption)
+        {
+            l_rc = updateAllKeywords(l_backupRestoreCfgJsonObj, false);
+            break;
+        }
+        else if (types::UserOption::MoreOptions == l_userSelectedOption)
+        {
+            l_rc = handleMoreOption(l_backupRestoreCfgJsonObj);
+            break;
+        }
+        else if (types::UserOption::Exit == l_userSelectedOption)
+        {
+            std::cout << "Exit successfully" << std::endl;
+            break;
+        }
+        else
+        {
+            std::cout << "Provide a valid option. Retry." << std::endl;
+        }
+    } while (true);
+
+    return l_rc;
+}
+
+int VpdTool::writeKeyword(
+    std::string i_vpdPath, const std::string& i_recordName,
+    const std::string& i_keywordName, const std::string& i_keywordValue,
+    const bool i_onHardware) noexcept
+{
+    int l_rc = constants::FAILURE;
+    try
+    {
+        if (i_vpdPath.empty() || i_recordName.empty() ||
+            i_keywordName.empty() || i_keywordValue.empty())
+        {
+            throw std::runtime_error("Received input is empty.");
+        }
+
+        auto l_paramsToWrite =
+            std::make_tuple(i_recordName, i_keywordName,
+                            utils::convertToBinary(i_keywordValue));
+
+        if (i_onHardware)
+        {
+            l_rc = utils::writeKeywordOnHardware(i_vpdPath, l_paramsToWrite);
+        }
+        else
+        {
+            i_vpdPath = constants::baseInventoryPath + i_vpdPath;
+            l_rc = utils::writeKeyword(i_vpdPath, l_paramsToWrite);
+        }
+
+        if (l_rc > 0)
+        {
+            std::cout << "Data updated successfully " << std::endl;
+            l_rc = constants::SUCCESS;
+        }
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Enable log when verbose is enabled.
+        std::cerr << "Write keyword's value for path: " << i_vpdPath
+                  << ", Record: " << i_recordName
+                  << ", Keyword: " << i_keywordName
+                  << " is failed. Exception: " << l_ex.what() << std::endl;
+    }
+    return l_rc;
+}
+
+nlohmann::json VpdTool::getBackupRestoreCfgJsonObj() const noexcept
+{
+    nlohmann::json l_parsedBackupRestoreJson{};
+    try
+    {
+        nlohmann::json l_parsedSystemJson =
+            utils::getParsedJson(INVENTORY_JSON_SYM_LINK);
+
+        // check for mandatory fields at this point itself.
+        if (!l_parsedSystemJson.contains("backupRestoreConfigPath"))
+        {
+            throw std::runtime_error(
+                "backupRestoreConfigPath tag is missing from system config JSON : " +
+                std::string(INVENTORY_JSON_SYM_LINK));
+        }
+
+        l_parsedBackupRestoreJson =
+            utils::getParsedJson(l_parsedSystemJson["backupRestoreConfigPath"]);
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        std::cerr << l_ex.what() << std::endl;
+    }
+
+    return l_parsedBackupRestoreJson;
+}
+
+int VpdTool::cleanSystemVpd() const noexcept
+{
+    try
+    {
+        // get the keyword map from backup_restore json
+        // iterate through the keyword map get default value of
+        // l_keywordName.
+        // use writeKeyword API to update default value on hardware,
+        // backup and D - Bus.
+        const nlohmann::json l_parsedBackupRestoreJson =
+            getBackupRestoreCfgJsonObj();
+
+        // check for mandatory tags
+        if (l_parsedBackupRestoreJson.contains("source") &&
+            l_parsedBackupRestoreJson.contains("backupMap") &&
+            l_parsedBackupRestoreJson["source"].contains("hardwarePath") &&
+            l_parsedBackupRestoreJson["backupMap"].is_array())
+        {
+            // get the source hardware path
+            const auto& l_hardwarePath =
+                l_parsedBackupRestoreJson["source"]["hardwarePath"];
+
+            // iterate through the backup map
+            for (const auto& l_aRecordKwInfo :
+                 l_parsedBackupRestoreJson["backupMap"])
+            {
+                // check if Manufacturing Reset is required for this entry
+                const bool l_isMfgCleanRequired =
+                    l_aRecordKwInfo.value("isManufactureResetRequired", false);
+
+                if (l_isMfgCleanRequired)
+                {
+                    // get the Record name and Keyword name
+                    const std::string& l_srcRecordName =
+                        l_aRecordKwInfo.value("sourceRecord", "");
+                    const std::string& l_srcKeywordName =
+                        l_aRecordKwInfo.value("sourceKeyword", "");
+
+                    // validate the Record name, Keyword name and the
+                    // defaultValue
+                    if (!l_srcRecordName.empty() && !l_srcKeywordName.empty() &&
+                        l_aRecordKwInfo.contains("defaultValue") &&
+                        l_aRecordKwInfo["defaultValue"].is_array())
+                    {
+                        const types::BinaryVector l_defaultBinaryValue =
+                            l_aRecordKwInfo["defaultValue"]
+                                .get<types::BinaryVector>();
+
+                        // update the Keyword with default value, use D-Bus
+                        // method UpdateKeyword exposed by vpd-manager.
+                        // Note: writing to all paths (Primary EEPROM path,
+                        // Secondary EEPROM path, D-Bus cache and Backup path)
+                        // is the responsibility of vpd-manager's UpdateKeyword
+                        // API
+                        if (constants::FAILURE ==
+                            utils::writeKeyword(
+                                l_hardwarePath,
+                                std::make_tuple(l_srcRecordName,
+                                                l_srcKeywordName,
+                                                l_defaultBinaryValue)))
+                        {
+                            // TODO: Enable logging when verbose
+                            // is enabled.
+                            std::cerr << "Failed to update " << l_srcRecordName
+                                      << ":" << l_srcKeywordName << std::endl;
+                        }
+                    }
+                    else
+                    {
+                        std::cerr
+                            << "Unrecognized Entry Record [" << l_srcRecordName
+                            << "] Keyword [" << l_srcKeywordName
+                            << "] in Backup Restore JSON backup map"
+                            << std::endl;
+                    }
+                } // mfgClean required check
+            } // keyword list loop
+        }
+        else // backupRestoreJson is not valid
+        {
+            std::cerr << "Backup Restore JSON is not valid" << std::endl;
+        }
+
+        // success/failure message
+        std::cout << "The critical keywords from system backplane VPD has "
+                     "been reset successfully."
+                  << std::endl;
+
+    } // try block end
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        std::cerr
+            << "Manufacturing reset on system vpd keywords is unsuccessful. Error : "
+            << l_ex.what() << std::endl;
+    }
+    return constants::SUCCESS;
+}
+
+bool VpdTool::fetchKeywordInfo(nlohmann::json& io_parsedJsonObj) const noexcept
+{
+    bool l_returnValue = false;
+    try
+    {
+        if (io_parsedJsonObj.empty() || !io_parsedJsonObj.contains("source") ||
+            !io_parsedJsonObj.contains("destination") ||
+            !io_parsedJsonObj.contains("backupMap"))
+        {
+            throw std::runtime_error("Invalid JSON");
+        }
+
+        std::string l_srcVpdPath;
+        std::string l_dstVpdPath;
+
+        bool l_isSourceOnHardware = false;
+        if (l_srcVpdPath = io_parsedJsonObj["source"].value("hardwarePath", "");
+            !l_srcVpdPath.empty())
+        {
+            l_isSourceOnHardware = true;
+        }
+        else if (l_srcVpdPath =
+                     io_parsedJsonObj["source"].value("inventoryPath", "");
+                 l_srcVpdPath.empty())
+        {
+            throw std::runtime_error("Source path is empty in JSON");
+        }
+
+        bool l_isDestinationOnHardware = false;
+        if (l_dstVpdPath =
+                io_parsedJsonObj["destination"].value("hardwarePath", "");
+            !l_dstVpdPath.empty())
+        {
+            l_isDestinationOnHardware = true;
+        }
+        else if (l_dstVpdPath =
+                     io_parsedJsonObj["destination"].value("inventoryPath", "");
+                 l_dstVpdPath.empty())
+        {
+            throw std::runtime_error("Destination path is empty in JSON");
+        }
+
+        for (auto& l_aRecordKwInfo : io_parsedJsonObj["backupMap"])
+        {
+            const std::string& l_srcRecordName =
+                l_aRecordKwInfo.value("sourceRecord", "");
+            const std::string& l_srcKeywordName =
+                l_aRecordKwInfo.value("sourceKeyword", "");
+            const std::string& l_dstRecordName =
+                l_aRecordKwInfo.value("destinationRecord", "");
+            const std::string& l_dstKeywordName =
+                l_aRecordKwInfo.value("destinationKeyword", "");
+
+            if (l_srcRecordName.empty() || l_dstRecordName.empty() ||
+                l_srcKeywordName.empty() || l_dstKeywordName.empty())
+            {
+                // TODO: Enable logging when verbose is enabled.
+                std::cout << "Record or keyword not found in the JSON."
+                          << std::endl;
+                continue;
+            }
+
+            types::DbusVariantType l_srcKeywordVariant;
+            if (l_isSourceOnHardware)
+            {
+                l_srcKeywordVariant = utils::readKeywordFromHardware(
+                    l_srcVpdPath,
+                    std::make_tuple(l_srcRecordName, l_srcKeywordName));
+            }
+            else
+            {
+                l_srcKeywordVariant = utils::readDbusProperty(
+                    constants::inventoryManagerService, l_srcVpdPath,
+                    constants::ipzVpdInfPrefix + l_srcRecordName,
+                    l_srcKeywordName);
+            }
+
+            if (auto l_srcKeywordValue =
+                    std::get_if<types::BinaryVector>(&l_srcKeywordVariant);
+                l_srcKeywordValue && !l_srcKeywordValue->empty())
+            {
+                l_aRecordKwInfo["sourcekeywordValue"] = *l_srcKeywordValue;
+            }
+            else
+            {
+                // TODO: Enable logging when verbose is enabled.
+                std::cout
+                    << "Invalid data type or empty data received, for source record: "
+                    << l_srcRecordName << ", keyword: " << l_srcKeywordName
+                    << std::endl;
+                continue;
+            }
+
+            types::DbusVariantType l_dstKeywordVariant;
+            if (l_isDestinationOnHardware)
+            {
+                l_dstKeywordVariant = utils::readKeywordFromHardware(
+                    l_dstVpdPath,
+                    std::make_tuple(l_dstRecordName, l_dstKeywordName));
+            }
+            else
+            {
+                l_dstKeywordVariant = utils::readDbusProperty(
+                    constants::inventoryManagerService, l_dstVpdPath,
+                    constants::ipzVpdInfPrefix + l_dstRecordName,
+                    l_dstKeywordName);
+            }
+
+            if (auto l_dstKeywordValue =
+                    std::get_if<types::BinaryVector>(&l_dstKeywordVariant);
+                l_dstKeywordValue && !l_dstKeywordValue->empty())
+            {
+                l_aRecordKwInfo["destinationkeywordValue"] = *l_dstKeywordValue;
+            }
+            else
+            {
+                // TODO: Enable logging when verbose is enabled.
+                std::cout
+                    << "Invalid data type or empty data received, for destination record: "
+                    << l_dstRecordName << ", keyword: " << l_dstKeywordName
+                    << std::endl;
+                continue;
+            }
+        }
+
+        l_returnValue = true;
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        std::cerr << l_ex.what() << std::endl;
+    }
+
+    return l_returnValue;
+}
+
+nlohmann::json
+    VpdTool::getFruTypeProperty(const std::string& i_objectPath) const noexcept
+{
+    nlohmann::json l_resultInJson = nlohmann::json::object({});
+    std::vector<std::string> l_pimInfList;
+
+    auto l_serviceInfMap = utils::GetServiceInterfacesForObject(
+        i_objectPath, std::vector<std::string>{constants::inventoryItemInf});
+    if (l_serviceInfMap.contains(constants::inventoryManagerService))
+    {
+        l_pimInfList = l_serviceInfMap[constants::inventoryManagerService];
+
+        // iterate through the list and find
+        // "xyz.openbmc_project.Inventory.Item.*"
+        for (const auto& l_interface : l_pimInfList)
+        {
+            if (l_interface.find(constants::inventoryItemInf) !=
+                    std::string::npos &&
+                l_interface.length() >
+                    std::string(constants::inventoryItemInf).length())
+            {
+                l_resultInJson.emplace("type", l_interface);
+            }
+        }
+    }
+    return l_resultInJson;
+}
+
+bool VpdTool::isFruPresent(const std::string& i_objectPath) const noexcept
+{
+    bool l_returnValue{false};
+    try
+    {
+        types::DbusVariantType l_keyWordValue;
+
+        l_keyWordValue = utils::readDbusProperty(
+            constants::inventoryManagerService, i_objectPath,
+            constants::inventoryItemInf, "Present");
+
+        if (const auto l_value = std::get_if<bool>(&l_keyWordValue))
+        {
+            l_returnValue = *l_value;
+        }
+    }
+    catch (const std::runtime_error& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        // std::cerr << "Failed to check \"Present\" property for FRU "
+        //           << i_objectPath << " Error: " << l_ex.what() <<
+        //           std::endl;
+    }
+    return l_returnValue;
+}
+
+void VpdTool::printFixSystemVpdOption(
+    const types::UserOption& i_option) const noexcept
+{
+    switch (i_option)
+    {
+        case types::UserOption::Exit:
+            std::cout << "Enter 0 => To exit successfully : ";
+            break;
+        case types::UserOption::UseBackupDataForAll:
+            std::cout << "Enter 1 => If you choose the data on backup for all "
+                         "mismatching record-keyword pairs"
+                      << std::endl;
+            break;
+        case types::UserOption::UseSystemBackplaneDataForAll:
+            std::cout << "Enter 2 => If you choose the data on primary for all "
+                         "mismatching record-keyword pairs"
+                      << std::endl;
+            break;
+        case types::UserOption::MoreOptions:
+            std::cout << "Enter 3 => If you wish to explore more options"
+                      << std::endl;
+            break;
+        case types::UserOption::UseBackupDataForCurrent:
+            std::cout << "Enter 4 => If you choose the data on backup as the "
+                         "right value"
+                      << std::endl;
+            break;
+        case types::UserOption::UseSystemBackplaneDataForCurrent:
+            std::cout << "Enter 5 => If you choose the data on primary as the "
+                         "right value"
+                      << std::endl;
+            break;
+        case types::UserOption::NewValueOnBoth:
+            std::cout
+                << "Enter 6 => If you wish to enter a new value to update "
+                   "both on backup and primary"
+                << std::endl;
+            break;
+        case types::UserOption::SkipCurrent:
+            std::cout << "Enter 7 => If you wish to skip the above "
+                         "record-keyword pair"
+                      << std::endl;
+            break;
+    }
+}
+
+int VpdTool::dumpInventory(bool i_dumpTable) const noexcept
+{
+    int l_rc{constants::FAILURE};
+
+    try
+    {
+        // get all object paths under PIM
+        const auto l_objectPaths = utils::GetSubTreePaths(
+            constants::baseInventoryPath, 0,
+            std::vector<std::string>{constants::inventoryItemInf});
+
+        if (!l_objectPaths.empty())
+        {
+            nlohmann::json l_resultInJson = nlohmann::json::array({});
+
+            std::for_each(l_objectPaths.begin(), l_objectPaths.end(),
+                          [&](const auto& l_objectPath) {
+                              const auto l_fruJson =
+                                  getFruProperties(l_objectPath);
+                              if (!l_fruJson.empty())
+                              {
+                                  if (l_resultInJson.empty())
+                                  {
+                                      l_resultInJson += l_fruJson;
+                                  }
+                                  else
+                                  {
+                                      l_resultInJson.at(0).insert(
+                                          l_fruJson.cbegin(), l_fruJson.cend());
+                                  }
+                              }
+                          });
+
+            if (i_dumpTable)
+            {
+                // create Table object
+                utils::Table l_inventoryTable{};
+
+                // columns to be populated in the Inventory table
+                const std::vector<types::TableColumnNameSizePair>
+                    l_tableColumns = {
+                        {"FRU", 100},         {"CC", 6},  {"DR", 20},
+                        {"LocationCode", 32}, {"PN", 8},  {"PrettyName", 80},
+                        {"SubModel", 10},     {"SN", 15}, {"type", 60}};
+
+                types::TableInputData l_tableData;
+
+                // First prepare the Table Columns
+                for (const auto& l_column : l_tableColumns)
+                {
+                    if (constants::FAILURE ==
+                        l_inventoryTable.AddColumn(l_column.first,
+                                                   l_column.second))
+                    {
+                        // TODO: Enable logging when verbose is enabled.
+                        std::cerr << "Failed to add column " << l_column.first
+                                  << " in Inventory Table." << std::endl;
+                    }
+                }
+
+                // iterate through the json array
+                for (const auto& l_fruEntry : l_resultInJson[0].items())
+                {
+                    // if object path ends in "unit([0-9][0-9]?)", skip adding
+                    // the object path in the table
+                    if (std::regex_search(l_fruEntry.key(),
+                                          std::regex("unit([0-9][0-9]?)")))
+                    {
+                        continue;
+                    }
+
+                    std::vector<std::string> l_row;
+                    for (const auto& l_column : l_tableColumns)
+                    {
+                        const auto& l_fruJson = l_fruEntry.value();
+
+                        if (l_column.first == "FRU")
+                        {
+                            l_row.push_back(l_fruEntry.key());
+                        }
+                        else
+                        {
+                            if (l_fruJson.contains(l_column.first))
+                            {
+                                l_row.push_back(l_fruJson[l_column.first]);
+                            }
+                            else
+                            {
+                                l_row.push_back("");
+                            }
+                        }
+                    }
+
+                    l_tableData.push_back(l_row);
+                }
+
+                l_rc = l_inventoryTable.Print(l_tableData);
+            }
+            else
+            {
+                // print JSON to console
+                utils::printJson(l_resultInJson);
+                l_rc = constants::SUCCESS;
+            }
+        }
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        std::cerr << "Dump inventory failed. Error: " << l_ex.what()
+                  << std::endl;
+    }
+    return l_rc;
+}
+
+void VpdTool::printSystemVpd(
+    const nlohmann::json& i_parsedJsonObj) const noexcept
+{
+    if (i_parsedJsonObj.empty() || !i_parsedJsonObj.contains("backupMap"))
+    {
+        // TODO: Enable logging when verbose is enabled.
+        std::cerr << "Invalid JSON to print system VPD" << std::endl;
+    }
+
+    std::string l_outline(191, '=');
+    std::cout << "\nRestorable record-keyword pairs and their data on backup & "
+                 "primary.\n\n"
+              << l_outline << std::endl;
+
+    std::cout << std::left << std::setw(6) << "S.No" << std::left
+              << std::setw(8) << "Record" << std::left << std::setw(9)
+              << "Keyword" << std::left << std::setw(75) << "Data On Backup"
+              << std::left << std::setw(75) << "Data On Primary" << std::left
+              << std::setw(14) << "Data Mismatch\n"
+              << l_outline << std::endl;
+
+    uint8_t l_slNum = 0;
+
+    for (const auto& l_aRecordKwInfo : i_parsedJsonObj["backupMap"])
+    {
+        if (l_aRecordKwInfo.contains("sourceRecord") ||
+            l_aRecordKwInfo.contains("sourceKeyword") ||
+            l_aRecordKwInfo.contains("destinationkeywordValue") ||
+            l_aRecordKwInfo.contains("sourcekeywordValue"))
+        {
+            std::string l_mismatchFound{
+                (l_aRecordKwInfo["destinationkeywordValue"] !=
+                 l_aRecordKwInfo["sourcekeywordValue"])
+                    ? "YES"
+                    : "NO"};
+
+            std::string l_splitLine(191, '-');
+
+            try
+            {
+                std::cout << std::left << std::setw(6)
+                          << static_cast<int>(++l_slNum) << std::left
+                          << std::setw(8)
+                          << l_aRecordKwInfo.value("sourceRecord", "")
+                          << std::left << std::setw(9)
+                          << l_aRecordKwInfo.value("sourceKeyword", "")
+                          << std::left << std::setw(75) << std::setfill(' ')
+                          << utils::getPrintableValue(
+                                 l_aRecordKwInfo["destinationkeywordValue"])
+                          << std::left << std::setw(75) << std::setfill(' ')
+                          << utils::getPrintableValue(
+                                 l_aRecordKwInfo["sourcekeywordValue"])
+                          << std::left << std::setw(14) << l_mismatchFound
+                          << '\n'
+                          << l_splitLine << std::endl;
+            }
+            catch (const std::exception& l_ex)
+            {
+                // TODO: Enable logging when verbose is enabled.
+                std::cerr << l_ex.what() << std::endl;
+            }
+        }
+    }
+}
+
+int VpdTool::updateAllKeywords(const nlohmann::json& i_parsedJsonObj,
+                               bool i_useBackupData) const noexcept
+{
+    int l_rc = constants::FAILURE;
+
+    if (i_parsedJsonObj.empty() || !i_parsedJsonObj.contains("source") ||
+        !i_parsedJsonObj.contains("backupMap"))
+    {
+        // TODO: Enable logging when verbose is enabled.
+        std::cerr << "Invalid JSON" << std::endl;
+        return l_rc;
+    }
+
+    std::string l_srcVpdPath;
+    if (auto l_vpdPath = i_parsedJsonObj["source"].value("hardwarePath", "");
+        !l_vpdPath.empty())
+    {
+        l_srcVpdPath = l_vpdPath;
+    }
+    else if (auto l_vpdPath =
+                 i_parsedJsonObj["source"].value("inventoryPath", "");
+             !l_vpdPath.empty())
+    {
+        l_srcVpdPath = l_vpdPath;
+    }
+    else
+    {
+        // TODO: Enable logging when verbose is enabled.
+        std::cerr << "source path information is missing in JSON" << std::endl;
+        return l_rc;
+    }
+
+    bool l_anyMismatchFound = false;
+    for (const auto& l_aRecordKwInfo : i_parsedJsonObj["backupMap"])
+    {
+        if (!l_aRecordKwInfo.contains("sourceRecord") ||
+            !l_aRecordKwInfo.contains("sourceKeyword") ||
+            !l_aRecordKwInfo.contains("destinationkeywordValue") ||
+            !l_aRecordKwInfo.contains("sourcekeywordValue"))
+        {
+            // TODO: Enable logging when verbose is enabled.
+            std::cerr << "Missing required information in the JSON"
+                      << std::endl;
+            continue;
+        }
+
+        if (l_aRecordKwInfo["sourcekeywordValue"] !=
+            l_aRecordKwInfo["destinationkeywordValue"])
+        {
+            l_anyMismatchFound = true;
+
+            auto l_keywordValue =
+                i_useBackupData ? l_aRecordKwInfo["destinationkeywordValue"]
+                                : l_aRecordKwInfo["sourcekeywordValue"];
+
+            auto l_paramsToWrite = std::make_tuple(
+                l_aRecordKwInfo["sourceRecord"],
+                l_aRecordKwInfo["sourceKeyword"], l_keywordValue);
+
+            try
+            {
+                l_rc = utils::writeKeyword(l_srcVpdPath, l_paramsToWrite);
+                if (l_rc > 0)
+                {
+                    l_rc = constants::SUCCESS;
+                }
+            }
+            catch (const std::exception& l_ex)
+            {
+                // TODO: Enable logging when verbose is enabled.
+                std::cerr << "write keyword failed for record: "
+                          << l_aRecordKwInfo["sourceRecord"]
+                          << ", keyword: " << l_aRecordKwInfo["sourceKeyword"]
+                          << ", error: " << l_ex.what() << std::ends;
+            }
+        }
+    }
+
+    std::string l_dataUsed =
+        (i_useBackupData ? "data from backup" : "data from primary VPD");
+    if (l_anyMismatchFound)
+    {
+        std::cout << "Data updated successfully for all mismatching "
+                     "record-keyword pairs by choosing their corresponding "
+                  << l_dataUsed << ". Exit successfully." << std::endl;
+    }
+    else
+    {
+        std::cout << "No mismatch found for any of the above mentioned "
+                     "record-keyword pair. Exit successfully."
+                  << std::endl;
+    }
+
+    return l_rc;
+}
+
+int VpdTool::handleMoreOption(
+    const nlohmann::json& i_parsedJsonObj) const noexcept
+{
+    int l_rc = constants::FAILURE;
+
+    try
+    {
+        if (i_parsedJsonObj.empty() || !i_parsedJsonObj.contains("backupMap"))
+        {
+            throw std::runtime_error("Invalid JSON");
+        }
+
+        std::string l_srcVpdPath;
+
+        if (auto l_vpdPath =
+                i_parsedJsonObj["source"].value("hardwarePath", "");
+            !l_vpdPath.empty())
+        {
+            l_srcVpdPath = l_vpdPath;
+        }
+        else if (auto l_vpdPath =
+                     i_parsedJsonObj["source"].value("inventoryPath", "");
+                 !l_vpdPath.empty())
+        {
+            l_srcVpdPath = l_vpdPath;
+        }
+        else
+        {
+            throw std::runtime_error(
+                "source path information is missing in JSON");
+        }
+
+        auto updateKeywordValue =
+            [](std::string io_vpdPath, const std::string& i_recordName,
+               const std::string& i_keywordName,
+               const types::BinaryVector& i_keywordValue) -> int {
+            int l_rc = constants::FAILURE;
+
+            try
+            {
+                auto l_paramsToWrite = std::make_tuple(
+                    i_recordName, i_keywordName, i_keywordValue);
+                l_rc = utils::writeKeyword(io_vpdPath, l_paramsToWrite);
+
+                if (l_rc > 0)
+                {
+                    std::cout << std::endl
+                              << "Data updated successfully." << std::endl;
+                }
+            }
+            catch (const std::exception& l_ex)
+            {
+                // TODO: Enable log when verbose is enabled.
+                std::cerr << l_ex.what() << std::endl;
+            }
+            return l_rc;
+        };
+
+        do
+        {
+            int l_slNum = 0;
+            bool l_exit = false;
+
+            for (const auto& l_aRecordKwInfo : i_parsedJsonObj["backupMap"])
+            {
+                if (!l_aRecordKwInfo.contains("sourceRecord") ||
+                    !l_aRecordKwInfo.contains("sourceKeyword") ||
+                    !l_aRecordKwInfo.contains("destinationkeywordValue") ||
+                    !l_aRecordKwInfo.contains("sourcekeywordValue"))
+                {
+                    // TODO: Enable logging when verbose is enabled.
+                    std::cerr
+                        << "Source or destination information is missing in the JSON."
+                        << std::endl;
+                    continue;
+                }
+
+                const std::string l_mismatchFound{
+                    (l_aRecordKwInfo["sourcekeywordValue"] !=
+                     l_aRecordKwInfo["destinationkeywordValue"])
+                        ? "YES"
+                        : "NO"};
+
+                std::cout << std::endl
+                          << std::left << std::setw(6) << "S.No" << std::left
+                          << std::setw(8) << "Record" << std::left
+                          << std::setw(9) << "Keyword" << std::left
+                          << std::setw(75) << std::setfill(' ') << "Backup Data"
+                          << std::left << std::setw(75) << std::setfill(' ')
+                          << "Primary Data" << std::left << std::setw(14)
+                          << "Data Mismatch" << std::endl;
+
+                std::cout << std::left << std::setw(6)
+                          << static_cast<int>(++l_slNum) << std::left
+                          << std::setw(8)
+                          << l_aRecordKwInfo.value("sourceRecord", "")
+                          << std::left << std::setw(9)
+                          << l_aRecordKwInfo.value("sourceKeyword", "")
+                          << std::left << std::setw(75) << std::setfill(' ')
+                          << utils::getPrintableValue(
+                                 l_aRecordKwInfo["destinationkeywordValue"])
+                          << std::left << std::setw(75) << std::setfill(' ')
+                          << utils::getPrintableValue(
+                                 l_aRecordKwInfo["sourcekeywordValue"])
+                          << std::left << std::setw(14) << l_mismatchFound
+                          << std::endl;
+
+                std::cout << std::string(191, '=') << std::endl;
+
+                if (constants::STR_CMP_SUCCESS ==
+                    l_mismatchFound.compare("YES"))
+                {
+                    printFixSystemVpdOption(
+                        types::UserOption::UseBackupDataForCurrent);
+                    printFixSystemVpdOption(
+                        types::UserOption::UseSystemBackplaneDataForCurrent);
+                    printFixSystemVpdOption(types::UserOption::NewValueOnBoth);
+                    printFixSystemVpdOption(types::UserOption::SkipCurrent);
+                    printFixSystemVpdOption(types::UserOption::Exit);
+                }
+                else
+                {
+                    std::cout << "No mismatch found." << std::endl << std::endl;
+                    printFixSystemVpdOption(types::UserOption::NewValueOnBoth);
+                    printFixSystemVpdOption(types::UserOption::SkipCurrent);
+                    printFixSystemVpdOption(types::UserOption::Exit);
+                }
+
+                int l_userSelectedOption = types::UserOption::Exit;
+                std::cin >> l_userSelectedOption;
+
+                if (types::UserOption::UseBackupDataForCurrent ==
+                    l_userSelectedOption)
+                {
+                    l_rc = updateKeywordValue(
+                        l_srcVpdPath, l_aRecordKwInfo["sourceRecord"],
+                        l_aRecordKwInfo["sourceKeyword"],
+                        l_aRecordKwInfo["destinationkeywordValue"]);
+                }
+                else if (types::UserOption::UseSystemBackplaneDataForCurrent ==
+                         l_userSelectedOption)
+                {
+                    l_rc = updateKeywordValue(
+                        l_srcVpdPath, l_aRecordKwInfo["sourceRecord"],
+                        l_aRecordKwInfo["sourceKeyword"],
+                        l_aRecordKwInfo["sourcekeywordValue"]);
+                }
+                else if (types::UserOption::NewValueOnBoth ==
+                         l_userSelectedOption)
+                {
+                    std::string l_newValue;
+                    std::cout
+                        << std::endl
+                        << "Enter the new value to update on both "
+                           "primary & backup. Value should be in ASCII or "
+                           "in HEX(prefixed with 0x) : ";
+                    std::cin >> l_newValue;
+                    std::cout << std::endl
+                              << std::string(191, '=') << std::endl;
+
+                    try
+                    {
+                        l_rc = updateKeywordValue(
+                            l_srcVpdPath, l_aRecordKwInfo["sourceRecord"],
+                            l_aRecordKwInfo["sourceKeyword"],
+                            utils::convertToBinary(l_newValue));
+                    }
+                    catch (const std::exception& l_ex)
+                    {
+                        // TODO: Enable logging when verbose is enabled.
+                        std::cerr << l_ex.what() << std::endl;
+                    }
+                }
+                else if (types::UserOption::SkipCurrent == l_userSelectedOption)
+                {
+                    std::cout << std::endl
+                              << "Skipped the above record-keyword pair. "
+                                 "Continue to the next available pair."
+                              << std::endl;
+                }
+                else if (types::UserOption::Exit == l_userSelectedOption)
+                {
+                    std::cout << "Exit successfully" << std::endl;
+                    l_exit = true;
+                    break;
+                }
+                else
+                {
+                    std::cout << "Provide a valid option. Retrying for the "
+                                 "current record-keyword pair"
+                              << std::endl;
+                }
+            }
+            if (l_exit)
+            {
+                l_rc = constants::SUCCESS;
+                break;
+            }
+        } while (true);
+    }
+    catch (const std::exception& l_ex)
+    {
+        // TODO: Enable logging when verbose is enabled.
+        std::cerr << l_ex.what() << std::endl;
+    }
+
+    return l_rc;
+}
+
+} // namespace vpd
diff --git a/vpd-tool/src/vpd_tool_main.cpp b/vpd-tool/src/vpd_tool_main.cpp
new file mode 100644
index 0000000..3fdf5d1
--- /dev/null
+++ b/vpd-tool/src/vpd_tool_main.cpp
@@ -0,0 +1,335 @@
+#include "tool_constants.hpp"
+#include "vpd_tool.hpp"
+
+#include <CLI/CLI.hpp>
+
+#include <filesystem>
+#include <iostream>
+
+/**
+ * @brief API to perform manufacturing clean.
+ *
+ * @param[in] i_mfgCleanConfirmFlag - Confirmation flag to perform manufacturing
+ * clean.
+ *
+ * @return Status returned by cleanSystemVpd operation, success otherwise.
+ */
+int doMfgClean(const auto& i_mfgCleanConfirmFlag)
+{
+    if (i_mfgCleanConfirmFlag->empty())
+    {
+        constexpr auto MAX_CONFIRMATION_STR_LENGTH{3};
+        std::string l_confirmation{};
+        std::cout
+            << "This option resets some of the system VPD keywords to their default values. Do you really wish to proceed further?[yes/no]:";
+        std::cin >> std::setw(MAX_CONFIRMATION_STR_LENGTH) >> l_confirmation;
+
+        if (l_confirmation != "yes")
+        {
+            return vpd::constants::SUCCESS;
+        }
+    }
+
+    vpd::VpdTool l_vpdToolObj;
+    return l_vpdToolObj.cleanSystemVpd();
+}
+
+/**
+ * @brief API to write keyword's value.
+ *
+ * @param[in] i_hardwareFlag - Flag to perform write on hardware.
+ * @param[in] i_keywordValueOption - Option to read keyword value from command.
+ * @param[in] i_vpdPath - DBus object path or EEPROM path.
+ * @param[in] i_recordName - Record to be updated.
+ * @param[in] i_keywordName - Keyword to be updated.
+ * @param[in] i_keywordValue - Value to be updated in keyword.
+ *
+ * @return Status of writeKeyword operation, failure otherwise.
+ */
+int writeKeyword(const auto& i_hardwareFlag, const auto& i_keywordValueOption,
+                 const std::string& i_vpdPath, const std::string& i_recordName,
+                 const std::string& i_keywordName,
+                 const std::string& i_keywordValue)
+{
+    std::error_code l_ec;
+
+    if (!i_hardwareFlag->empty() && !std::filesystem::exists(i_vpdPath, l_ec))
+    {
+        std::cerr << "Given EEPROM file path doesn't exist : " + i_vpdPath
+                  << std::endl;
+        return vpd::constants::FAILURE;
+    }
+
+    if (l_ec)
+    {
+        std::cerr << "filesystem call exists failed for file: " << i_vpdPath
+                  << ", reason: " + l_ec.message() << std::endl;
+        return vpd::constants::FAILURE;
+    }
+
+    if (!i_keywordValueOption->empty() && i_keywordValue.empty())
+    {
+        std::cerr
+            << "Please provide keyword value.\nUse --value/--file to give "
+               "keyword value. Refer --help."
+            << std::endl;
+        return vpd::constants::FAILURE;
+    }
+
+    if (i_keywordValueOption->empty())
+    {
+        std::cerr
+            << "Please provide keyword value.\nUse --value/--file to give "
+               "keyword value. Refer --help."
+            << 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());
+}
+
+/**
+ * @brief API to read keyword's value.
+ *
+ * @param[in] i_hardwareFlag - Flag to perform write on hardware.
+ * @param[in] i_vpdPath - DBus object path or EEPROM path.
+ * @param[in] i_recordName - Record to be updated.
+ * @param[in] i_keywordName - Keyword to be updated.
+ * @param[in] i_filePath - File path to save keyword's read value.
+ *
+ * @return Status of readKeyword operation, failure otherwise.
+ */
+int readKeyword(const auto& i_hardwareFlag, const std::string& i_vpdPath,
+                const std::string& i_recordName,
+                const std::string& i_keywordName, const std::string& i_filePath)
+{
+    std::error_code l_ec;
+
+    if (!i_hardwareFlag->empty() && !std::filesystem::exists(i_vpdPath, l_ec))
+    {
+        std::string l_errMessage{
+            "Given EEPROM file path doesn't exist : " + i_vpdPath};
+
+        if (l_ec)
+        {
+            l_errMessage += ". filesystem call exists failed, reason: " +
+                            l_ec.message();
+        }
+
+        std::cerr << l_errMessage << std::endl;
+        return vpd::constants::FAILURE;
+    }
+
+    bool l_isHardwareOperation = (!i_hardwareFlag->empty() ? true : false);
+
+    vpd::VpdTool l_vpdToolObj;
+    return l_vpdToolObj.readKeyword(i_vpdPath, i_recordName, i_keywordName,
+                                    l_isHardwareOperation, i_filePath);
+}
+
+/**
+ * @brief API to check option value pair in the tool command.
+ *
+ * In VPD tool command, some of the option(s) mandate values to be passed along
+ * with the option. This API based on option, detects those mandatory value(s).
+ *
+ * @param[in] i_objectOption - Option to pass object path.
+ * @param[in] i_vpdPath - Object path, DBus or EEPROM.
+ * @param[in] i_recordOption - Option to pass record name.
+ * @param[in] i_recordName - Record name.
+ * @param[in] i_keywordOption - Option to pass keyword name.
+ * @param[in] i_keywordName - Keyword name.
+ *
+ * @return Success if corresponding value is found against option, failure
+ * otherwise.
+ */
+int checkOptionValuePair(const auto& i_objectOption, const auto& i_vpdPath,
+                         const auto& i_recordOption, const auto& i_recordName,
+                         const auto& i_keywordOption, const auto& i_keywordName)
+{
+    if (!i_objectOption->empty() && i_vpdPath.empty())
+    {
+        std::cout << "Given path is empty." << std::endl;
+        return vpd::constants::FAILURE;
+    }
+
+    if (!i_recordOption->empty() &&
+        (i_recordName.size() != vpd::constants::RECORD_SIZE))
+    {
+        std::cerr << "Record " << i_recordName << " is not supported."
+                  << std::endl;
+        return vpd::constants::FAILURE;
+    }
+
+    if (!i_keywordOption->empty() &&
+        (i_keywordName.size() != vpd::constants::KEYWORD_SIZE))
+    {
+        std::cerr << "Keyword " << i_keywordName << " is not supported."
+                  << std::endl;
+        return vpd::constants::FAILURE;
+    }
+
+    return vpd::constants::SUCCESS;
+}
+
+/**
+ * @brief API to create app footer.
+ *
+ * @param[in] i_app - CLI::App object.
+ */
+void updateFooter(CLI::App& i_app)
+{
+    i_app.footer(
+        "Read:\n"
+        "    IPZ Format:\n"
+        "        From DBus to console: "
+        "vpd-tool -r -O <DBus Object Path> -R <Record Name> -K <Keyword Name>\n"
+        "        From DBus to file: "
+        "vpd-tool -r -O <DBus Object Path> -R <Record Name> -K <Keyword Name> --file <File Path>\n"
+        "        From hardware to console: "
+        "vpd-tool -r -H -O <EEPROM Path> -R <Record Name> -K <Keyword Name>\n"
+        "        From hardware to file: "
+        "vpd-tool -r -H -O <EEPROM Path> -R <Record Name> -K <Keyword Name> --file <File Path>\n"
+        "Write:\n"
+        "    IPZ Format:\n"
+        "        On DBus: "
+        "vpd-tool -w/-u -O <DBus Object Path> -R <Record Name> -K <Keyword Name> -V <Keyword Value>\n"
+        "        On DBus, take keyword value from file:\n"
+        "              vpd-tool -w/-u -O <DBus Object Path> -R <Record Name> -K <Keyword Name> --file <File Path>\n"
+        "        On hardware: "
+        "vpd-tool -w/-u -H -O <EEPROM Path> -R <Record Name> -K <Keyword Name> -V <Keyword Value>\n"
+        "        On hardware, take keyword value from file:\n"
+        "              vpd-tool -w/-u -H -O <EEPROM Path> -R <Record Name> -K <Keyword Name> --file <File Path>\n"
+        "Dump Object:\n"
+        "    From DBus to console: "
+        "vpd-tool -o -O <DBus Object Path>\n"
+        "Fix System VPD:\n"
+        "    vpd-tool --fixSystemVPD\n"
+        "MfgClean:\n"
+        "        Flag to clean and reset specific keywords on system VPD to its default value.\n"
+        "        vpd-tool --mfgClean\n"
+        "Dump Inventory:\n"
+        "   From DBus to console in JSON format: "
+        "vpd-tool -i\n"
+        "   From DBus to console in Table format: "
+        "vpd-tool -i -t\n");
+}
+
+int main(int argc, char** argv)
+{
+    CLI::App l_app{"VPD Command Line Tool"};
+
+    std::string l_vpdPath{};
+    std::string l_recordName{};
+    std::string l_keywordName{};
+    std::string l_filePath{};
+    std::string l_keywordValue{};
+
+    updateFooter(l_app);
+
+    auto l_objectOption =
+        l_app.add_option("--object, -O", l_vpdPath, "File path");
+    auto l_recordOption =
+        l_app.add_option("--record, -R", l_recordName, "Record name");
+    auto l_keywordOption =
+        l_app.add_option("--keyword, -K", l_keywordName, "Keyword name");
+
+    // Enable when file option is implemented.
+    /*auto l_fileOption = l_app.add_option("--file", l_filePath,
+                                         "Absolute file path");*/
+
+    auto l_keywordValueOption =
+        l_app.add_option("--value, -V", l_keywordValue,
+                         "Keyword value in ascii/hex format."
+                         " ascii ex: 01234; hex ex: 0x30313233");
+
+    auto l_hardwareFlag =
+        l_app.add_flag("--Hardware, -H", "CAUTION: Developer only option.");
+
+    auto l_readFlag = l_app.add_flag("--readKeyword, -r", "Read keyword")
+                          ->needs(l_objectOption)
+                          ->needs(l_recordOption)
+                          ->needs(l_keywordOption);
+
+    auto l_writeFlag =
+        l_app
+            .add_flag(
+                "--writeKeyword, -w,--updateKeyword, -u",
+                "Write keyword, Note: Irrespective of DBus or hardware path provided, primary and backup, redundant EEPROM(if any) paths will get updated with given key value")
+            ->needs(l_objectOption)
+            ->needs(l_recordOption)
+            ->needs(l_keywordOption);
+
+    // ToDo: Take offset value from user for hardware path.
+
+    auto l_dumpObjFlag =
+        l_app
+            .add_flag("--dumpObject, -o",
+                      "Dump specific properties of an inventory object")
+            ->needs(l_objectOption);
+
+    auto l_fixSystemVpdFlag = l_app.add_flag(
+        "--fixSystemVPD",
+        "Use this option to interactively fix critical system VPD keywords");
+    auto l_dumpInventoryFlag =
+        l_app.add_flag("--dumpInventory, -i", "Dump all the inventory objects");
+
+    auto l_mfgCleanFlag = l_app.add_flag(
+        "--mfgClean", "Manufacturing clean on system VPD keyword");
+
+    auto l_mfgCleanConfirmFlag = l_app.add_flag(
+        "--yes", "Using this flag with --mfgClean option, assumes "
+                 "yes to proceed without confirmation.");
+
+    auto l_dumpInventoryTableFlag =
+        l_app.add_flag("--table, -t", "Dump inventory in table format");
+
+    CLI11_PARSE(l_app, argc, argv);
+
+    if (checkOptionValuePair(l_objectOption, l_vpdPath, l_recordOption,
+                             l_recordName, l_keywordOption, l_keywordName) ==
+        vpd::constants::FAILURE)
+    {
+        return vpd::constants::FAILURE;
+    }
+
+    if (!l_readFlag->empty())
+    {
+        return readKeyword(l_hardwareFlag, l_vpdPath, l_recordName,
+                           l_keywordName, l_filePath);
+    }
+
+    if (!l_writeFlag->empty())
+    {
+        return writeKeyword(l_hardwareFlag, l_keywordValueOption, l_vpdPath,
+                            l_recordName, l_keywordName, l_keywordValue);
+    }
+
+    if (!l_dumpObjFlag->empty())
+    {
+        vpd::VpdTool l_vpdToolObj;
+        return l_vpdToolObj.dumpObject(l_vpdPath);
+    }
+
+    if (!l_fixSystemVpdFlag->empty())
+    {
+        vpd::VpdTool l_vpdToolObj;
+        return l_vpdToolObj.fixSystemVpd();
+    }
+
+    if (!l_mfgCleanFlag->empty())
+    {
+        return doMfgClean(l_mfgCleanConfirmFlag);
+    }
+
+    if (!l_dumpInventoryFlag->empty())
+    {
+        vpd::VpdTool l_vpdToolObj;
+        return l_vpdToolObj.dumpInventory(!l_dumpInventoryTableFlag->empty());
+    }
+
+    std::cout << l_app.help() << std::endl;
+    return vpd::constants::FAILURE;
+}
diff --git a/vpd_exceptions.hpp b/vpd_exceptions.hpp
deleted file mode 100644
index c0f84e8..0000000
--- a/vpd_exceptions.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-#pragma once
-
-#include <stdexcept>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace exceptions
-{
-
-/** @class VPDException
- * @brief This class inherits std::runtime_error and overrides
- * "what" method to return the description of exception.
- * This class also works as base class for custom exception
- * classes of openpower-vpd repository.
- */
-class VPDException : public std::runtime_error
-{
-  public:
-    // deleted methods
-    VPDException() = delete;
-    VPDException(const VPDException&) = delete;
-    VPDException(VPDException&&) = delete;
-    VPDException& operator=(const VPDException&) = delete;
-
-    // default destructor
-    ~VPDException() = default;
-
-    /** @brief constructor
-     *  @param[in] - string to define exception
-     */
-    explicit VPDException(const std::string& msg) :
-        std::runtime_error(msg), errMsg(msg)
-    {}
-
-    /** @brief inline method to return exception string
-     * This is overridden method of std::runtime class
-     */
-    inline const char* what() const noexcept override
-    {
-        return errMsg.c_str();
-    }
-
-  private:
-    /** @brief string to hold the reason of exception */
-    std::string errMsg;
-
-}; // class VPDException
-
-/** @class VpdEccException
- *  @brief This class extends Exceptions class and define
- *  type for ECC related exception in VPD
- */
-class VpdEccException : public VPDException
-{
-  public:
-    // deleted methods
-    VpdEccException() = delete;
-    VpdEccException(const VpdEccException&) = delete;
-    VpdEccException(VpdEccException&&) = delete;
-    VpdEccException& operator=(const VpdEccException&) = delete;
-
-    // default destructor
-    ~VpdEccException() = default;
-
-    /** @brief constructor
-     *  @param[in] - string to define exception
-     */
-    explicit VpdEccException(const std::string& msg) : VPDException(msg) {}
-
-}; // class VpdEccException
-
-/** @class VpdDataException
- *  @brief This class extends Exceptions class and define
- *  type for data related exception in VPD
- */
-class VpdDataException : public VPDException
-{
-  public:
-    // deleted methods
-    VpdDataException() = delete;
-    VpdDataException(const VpdDataException&) = delete;
-    VpdDataException(VpdDataException&&) = delete;
-    VpdDataException& operator=(const VpdDataException&) = delete;
-
-    // default destructor
-    ~VpdDataException() = default;
-
-    /** @brief constructor
-     *  @param[in] - string to define exception
-     */
-    explicit VpdDataException(const std::string& msg) : VPDException(msg) {}
-
-}; // class VpdDataException
-
-class VpdJsonException : public VPDException
-{
-  public:
-    // deleted methods
-    VpdJsonException() = delete;
-    VpdJsonException(const VpdJsonException&) = delete;
-    VpdJsonException(VpdDataException&&) = delete;
-    VpdJsonException& operator=(const VpdDataException&) = delete;
-
-    // default destructor
-    ~VpdJsonException() = default;
-
-    /** @brief constructor
-     *  @param[in] msg - string to define exception
-     *  @param[in] path - Json path
-     */
-    VpdJsonException(const std::string& msg, const std::string& path) :
-        VPDException(msg), jsonPath(path)
-    {}
-
-    /** @brief Json path getter method.
-     *  @return - Json path
-     */
-    inline std::string getJsonPath() const
-    {
-        return jsonPath;
-    }
-
-  private:
-    /** To hold the path of Json that failed to parse*/
-    std::string jsonPath;
-
-}; // class VpdJSonException
-
-/** @class GpioException
- *  @brief This class extends Exceptions class and define
- *  type for GPIO related exception in VPD
- */
-class GpioException : public VPDException
-{
-  public:
-    // deleted methods
-    GpioException() = delete;
-    GpioException(const GpioException&) = delete;
-    GpioException(GpioException&&) = delete;
-    GpioException& operator=(const GpioException&) = delete;
-
-    // default destructor
-    ~GpioException() = default;
-
-    /** @brief constructor
-     *  @param[in] msg - string to define exception
-     */
-    explicit GpioException(const std::string& msg) : VPDException(msg) {}
-};
-
-} // namespace exceptions
-} // namespace vpd
-} // namespace openpower
diff --git a/vpd_tool.cpp b/vpd_tool.cpp
deleted file mode 100644
index d53a593..0000000
--- a/vpd_tool.cpp
+++ /dev/null
@@ -1,264 +0,0 @@
-#include "vpd_tool_impl.hpp"
-
-#include <CLI/CLI.hpp>
-
-#include <filesystem>
-#include <fstream>
-#include <iostream>
-
-using namespace CLI;
-using namespace std;
-namespace fs = std::filesystem;
-using namespace openpower::vpd;
-using json = nlohmann::json;
-
-int main(int argc, char** argv)
-{
-    int rc = 0;
-    App app{"VPD Command line tool to dump the inventory and to read and "
-            "update the keywords"};
-
-    string objectPath{};
-    string recordName{};
-    string keyword{};
-    string val{};
-    uint32_t offset = 0;
-
-    auto object =
-        app.add_option("--object, -O", objectPath, "Enter the Object Path");
-    auto record =
-        app.add_option("--record, -R", recordName, "Enter the Record Name");
-    auto kw = app.add_option("--keyword, -K", keyword, "Enter the Keyword");
-    auto valOption = app.add_option(
-        "--value, -V", val,
-        "Enter the value. The value to be updated should be either in ascii or "
-        "in hex. ascii eg: 01234; hex eg: 0x30313233");
-    app.add_option("--seek, -s", offset,
-                   "User can provide VPD offset using this option. Default "
-                   "offset value is 0. Using --seek is optional and is valid "
-                   "only while using --Hardware/-H option.");
-
-    auto dumpObjFlag =
-        app.add_flag("--dumpObject, -o",
-                     "Dump the given object from the inventory. { "
-                     "vpd-tool-exe --dumpObject/-o --object/-O object-name }")
-            ->needs(object);
-
-    auto dumpInvFlag = app.add_flag(
-        "--dumpInventory, -i", "Dump all the inventory objects. { vpd-tool-exe "
-                               "--dumpInventory/-i }");
-
-    auto readFlag =
-        app.add_flag("--readKeyword, -r",
-                     "Read the data of the given keyword. { "
-                     "vpd-tool-exe --readKeyword/-r --object/-O "
-                     "\"object-name\" --record/-R \"record-name\" --keyword/-K "
-                     "\"keyword-name\" }")
-            ->needs(object)
-            ->needs(record)
-            ->needs(kw);
-
-    auto writeFlag =
-        app.add_flag(
-               "--writeKeyword, -w, --updateKeyword, -u",
-               "Update the value. { vpd-tool-exe "
-               "--writeKeyword/-w/--updateKeyword/-u "
-               "--object/-O object-name --record/-R record-name --keyword/-K "
-               "keyword-name --value/-V (or) --file }. Value can be given "
-               "directly via console using --value or via file using --file")
-            ->needs(object)
-            ->needs(record)
-            ->needs(kw);
-
-    auto fileOption = app.add_option(
-        "--file", val,
-        "Enter the file name with its absolute path. This option can be used "
-        "in read and write operations. When used in read, the read value will "
-        "be saved to this file and when used in write, the value to be written "
-        "will be taken from this file.");
-
-    auto forceResetFlag =
-        app.add_flag("--forceReset, -f, -F",
-                     "Force Collect for Hardware. CAUTION: Developer Only "
-                     "Option. { vpd-tool-exe --forceReset/-f/-F }");
-
-    auto Hardware = app.add_flag(
-        "--Hardware, -H",
-        "This is a supplementary flag to read/write directly from/to hardware. "
-        "User should provide valid hardware/eeprom path (and not dbus object "
-        "path) in the -O/--object path. CAUTION: Developer Only Option");
-
-    auto fixSystemVPDFlag = app.add_flag(
-        "--fixSystemVPD", "Use this option to interactively fix critical "
-                          "system VPD keywords {vpd-tool-exe --fixSystemVPD}");
-
-    auto mfgClean =
-        app.add_flag("--mfgClean", "Flag to clean and reset specific keywords "
-                                   "on system VPD to its default value.");
-
-    auto confirm =
-        app.add_flag("--yes", "Using this flag with --mfgClean option, assumes "
-                              "yes to proceed without confirmation.");
-
-    CLI11_PARSE(app, argc, argv);
-
-    ifstream inventoryJson(INVENTORY_JSON_SYM_LINK);
-    auto jsObject = json::parse(inventoryJson);
-
-    try
-    {
-        if (*object && objectPath.empty())
-        {
-            throw runtime_error("Given path is empty.");
-        }
-
-        if (*record && (recordName.size() != 4))
-        {
-            throw runtime_error("Record " + recordName + " not supported.");
-        }
-
-        if ((*kw) && (keyword.size() != 2))
-        {
-            throw runtime_error("Keyword " + keyword + " not supported.");
-        }
-
-        if (*Hardware)
-        {
-            if (!fs::exists(objectPath)) // if dbus object path is given or
-                                         // invalid eeprom path is given
-            {
-                string errorMsg = "Invalid EEPROM path : ";
-                errorMsg += objectPath;
-                errorMsg +=
-                    ". The given EEPROM path doesn't exist. Provide valid "
-                    "EEPROM path when -H flag is used. Refer help option. ";
-                throw runtime_error(errorMsg);
-            }
-        }
-
-        if (*writeFlag)
-        {
-            if (isReadOnlyEEPROM(objectPath, jsObject))
-            {
-                throw runtime_error("Read only EEPROM. Update not allowed.");
-            }
-
-            if ((!*fileOption) && (!*valOption))
-            {
-                throw runtime_error("Please provide the data that needs to be "
-                                    "updated. Use --value/--file to "
-                                    "input data. Refer --help.");
-            }
-
-            if ((*fileOption) && (!fs::exists(val)))
-            {
-                throw runtime_error("Please provide a valid file with absolute "
-                                    "path in --file.");
-            }
-        }
-
-        if (*dumpObjFlag)
-        {
-            VpdTool vpdToolObj(move(objectPath));
-            vpdToolObj.dumpObject(jsObject);
-        }
-
-        else if (*dumpInvFlag)
-        {
-            VpdTool vpdToolObj;
-            vpdToolObj.dumpInventory(jsObject);
-        }
-
-        else if (*readFlag && !*Hardware)
-        {
-            VpdTool vpdToolObj(move(objectPath), move(recordName),
-                               move(keyword), move(val));
-            vpdToolObj.readKeyword();
-        }
-
-        else if (*writeFlag && !*Hardware)
-        {
-            VpdTool vpdToolObj(move(objectPath), move(recordName),
-                               move(keyword), move(val));
-            rc = vpdToolObj.updateKeyword();
-        }
-
-        else if (*forceResetFlag)
-        {
-            // Force reset the BMC only if the CEC is powered OFF.
-            if (getPowerState() ==
-                "xyz.openbmc_project.State.Chassis.PowerState.Off")
-            {
-                VpdTool vpdToolObj;
-                vpdToolObj.forceReset(jsObject);
-            }
-            else
-            {
-                std::cerr << "The chassis power state is not Off. Force reset "
-                             "operation is not allowed.";
-                return -1;
-            }
-        }
-
-        else if (*writeFlag && *Hardware)
-        {
-            VpdTool vpdToolObj(move(objectPath), move(recordName),
-                               move(keyword), move(val));
-            rc = vpdToolObj.updateHardware(offset);
-        }
-        else if (*readFlag && *Hardware)
-        {
-            VpdTool vpdToolObj(move(objectPath), move(recordName),
-                               move(keyword), move(val));
-            vpdToolObj.readKwFromHw(offset);
-        }
-        else if (*fixSystemVPDFlag)
-        {
-            std::string backupEepromPath;
-            std::string backupInvPath;
-            findBackupVPDPaths(backupEepromPath, backupInvPath, jsObject);
-            VpdTool vpdToolObj;
-
-            if (backupEepromPath.empty())
-            {
-                rc = vpdToolObj.fixSystemVPD();
-            }
-            else
-            {
-                rc = vpdToolObj.fixSystemBackupVPD(backupEepromPath,
-                                                   backupInvPath);
-            }
-        }
-        else if (*mfgClean)
-        {
-            if (!*confirm)
-            {
-                std::string confirmation{};
-                std::cout << "\nThis option resets some of the system VPD "
-                             "keywords to their default values. Do you really "
-                             "wish to proceed further?[yes/no]: ";
-                std::cin >> confirmation;
-
-                if (confirmation != "yes")
-                {
-                    return 0;
-                }
-            }
-            VpdTool vpdToolObj;
-            rc = vpdToolObj.cleanSystemVPD();
-        }
-        else
-        {
-            throw runtime_error("One of the valid options is required. Refer "
-                                "--help for list of options.");
-        }
-    }
-
-    catch (const exception& e)
-    {
-        cerr << e.what();
-        rc = -1;
-    }
-
-    return rc;
-}
diff --git a/vpd_tool_impl.cpp b/vpd_tool_impl.cpp
deleted file mode 100644
index 30f7294..0000000
--- a/vpd_tool_impl.cpp
+++ /dev/null
@@ -1,1351 +0,0 @@
-#include "vpd_tool_impl.hpp"
-
-#include "impl.hpp"
-#include "parser_factory.hpp"
-#include "vpd_exceptions.hpp"
-
-#include <sdbusplus/bus.hpp>
-
-#include <cstdlib>
-#include <filesystem>
-#include <iostream>
-#include <variant>
-#include <vector>
-
-using namespace std;
-using namespace openpower::vpd;
-using namespace inventory;
-using namespace openpower::vpd::manager::editor;
-namespace fs = std::filesystem;
-using json = nlohmann::json;
-using namespace openpower::vpd::exceptions;
-using namespace openpower::vpd::parser;
-using namespace openpower::vpd::parser::factory;
-using namespace openpower::vpd::parser::interface;
-
-bool VpdTool::fileToVector(Binary& data)
-{
-    try
-    {
-        std::ifstream file(value, std::ifstream::in);
-
-        if (file)
-        {
-            std::string line;
-            while (std::getline(file, line))
-            {
-                std::istringstream iss(line);
-                std::string byteStr;
-                while (iss >> std::setw(2) >> std::hex >> byteStr)
-                {
-                    uint8_t byte = strtoul(byteStr.c_str(), nullptr, 16);
-                    data.emplace(data.end(), byte);
-                }
-            }
-            return true;
-        }
-        else
-        {
-            std::cerr << "Unable to open the given file " << value << std::endl;
-        }
-    }
-    catch (std::exception& e)
-    {
-        std::cerr << e.what();
-    }
-    return false;
-}
-
-bool VpdTool::copyStringToFile(const std::string& input)
-{
-    try
-    {
-        std::ofstream outFile(value, std::ofstream::out);
-
-        if (outFile.is_open())
-        {
-            std::string hexString = input;
-            if (input.substr(0, 2) == "0x")
-            {
-                // truncating prefix 0x
-                hexString = input.substr(2);
-            }
-            outFile.write(hexString.c_str(), hexString.length());
-        }
-        else
-        {
-            std::cerr << "Error opening output file " << value << std::endl;
-            return false;
-        }
-
-        outFile.close();
-    }
-    catch (std::exception& e)
-    {
-        std::cerr << e.what();
-        return false;
-    }
-    return true;
-}
-
-static void
-    getVPDInMap(const std::string& vpdPath,
-                std::unordered_map<std::string, DbusPropertyMap>& vpdMap,
-                json& js, const std::string& invPath)
-{
-    auto jsonToParse = INVENTORY_JSON_DEFAULT;
-    if (fs::exists(INVENTORY_JSON_SYM_LINK))
-    {
-        jsonToParse = INVENTORY_JSON_SYM_LINK;
-    }
-
-    std::ifstream inventoryJson(jsonToParse);
-    if (!inventoryJson)
-    {
-        throw std::runtime_error("VPD JSON file not found");
-    }
-
-    try
-    {
-        js = json::parse(inventoryJson);
-    }
-    catch (const json::parse_error& ex)
-    {
-        throw std::runtime_error("VPD JSON parsing failed");
-    }
-
-    Binary vpdVector{};
-
-    uint32_t vpdStartOffset = 0;
-    vpdVector = getVpdDataInVector(js, vpdPath);
-    ParserInterface* parser =
-        ParserFactory::getParser(vpdVector, invPath, vpdPath, vpdStartOffset);
-    auto parseResult = parser->parse();
-    ParserFactory::freeParser(parser);
-
-    if (auto pVal = std::get_if<Store>(&parseResult))
-    {
-        vpdMap = pVal->getVpdMap();
-    }
-    else
-    {
-        std::string err =
-            vpdPath + " is not of type IPZ VPD. Unable to parse the VPD.";
-        throw std::runtime_error(err);
-    }
-}
-
-Binary VpdTool::toBinary(const std::string& value)
-{
-    Binary val{};
-    if (value.find("0x") == string::npos)
-    {
-        val.assign(value.begin(), value.end());
-    }
-    else if (value.find("0x") != string::npos)
-    {
-        stringstream ss;
-        ss.str(value.substr(2));
-        string byteStr{};
-
-        if (value.length() % 2 != 0)
-        {
-            throw runtime_error(
-                "VPD-TOOL write option accepts 2 digit hex numbers. (Eg. 0x1 "
-                "should be given as 0x01). Aborting the write operation.");
-        }
-
-        if (value.find_first_not_of("0123456789abcdefABCDEF", 2) !=
-            std::string::npos)
-        {
-            throw runtime_error("Provide a valid hexadecimal input.");
-        }
-
-        while (ss >> setw(2) >> byteStr)
-        {
-            uint8_t byte = strtoul(byteStr.c_str(), nullptr, 16);
-
-            val.push_back(byte);
-        }
-    }
-
-    else
-    {
-        throw runtime_error("The value to be updated should be either in ascii "
-                            "or in hex. Refer --help option");
-    }
-    return val;
-}
-
-void VpdTool::printReturnCode(int returnCode)
-{
-    if (returnCode)
-    {
-        cout << "\n Command failed with the return code " << returnCode
-             << ". Continuing the execution. " << endl;
-    }
-}
-
-void VpdTool::eraseInventoryPath(string& fru)
-{
-    // Power supply frupath comes with INVENTORY_PATH appended in prefix.
-    // Stripping it off inorder to avoid INVENTORY_PATH duplication
-    // during getVINIProperties() execution.
-    fru.erase(0, sizeof(INVENTORY_PATH) - 1);
-}
-
-void VpdTool::debugger(json output)
-{
-    cout << output.dump(4) << '\n';
-}
-
-auto VpdTool::makeDBusCall(const string& objectName, const string& interface,
-                           const string& kw)
-{
-    auto bus = sdbusplus::bus::new_default();
-    auto properties =
-        bus.new_method_call(INVENTORY_MANAGER_SERVICE, objectName.c_str(),
-                            "org.freedesktop.DBus.Properties", "Get");
-    properties.append(interface);
-    properties.append(kw);
-    auto result = bus.call(properties);
-
-    if (result.is_method_error())
-    {
-        throw runtime_error("Get api failed");
-    }
-    return result;
-}
-
-json VpdTool::getVINIProperties(string invPath)
-{
-    variant<Binary> response;
-    json kwVal = json::object({});
-
-    vector<string> keyword{"CC", "SN", "PN", "FN", "DR"};
-    string interface = "com.ibm.ipzvpd.VINI";
-    string objectName = {};
-
-    if (invPath.find(INVENTORY_PATH) != string::npos)
-    {
-        objectName = invPath;
-        eraseInventoryPath(invPath);
-    }
-    else
-    {
-        objectName = INVENTORY_PATH + invPath;
-    }
-    for (string kw : keyword)
-    {
-        try
-        {
-            makeDBusCall(objectName, interface, kw).read(response);
-
-            if (auto vec = get_if<Binary>(&response))
-            {
-                string printableVal = getPrintableValue(*vec);
-                kwVal.emplace(kw, printableVal);
-            }
-        }
-        catch (const sdbusplus::exception_t& e)
-        {
-            if (string(e.name()) ==
-                string("org.freedesktop.DBus.Error.UnknownObject"))
-            {
-                kwVal.emplace(invPath, json::object({}));
-                objFound = false;
-                break;
-            }
-        }
-    }
-
-    return kwVal;
-}
-
-void VpdTool::getExtraInterfaceProperties(const string& invPath,
-                                          const string& extraInterface,
-                                          const json& prop, json& output)
-{
-    variant<string> response;
-
-    string objectName = INVENTORY_PATH + invPath;
-
-    for (const auto& itProp : prop.items())
-    {
-        string kw = itProp.key();
-        try
-        {
-            makeDBusCall(objectName, extraInterface, kw).read(response);
-
-            if (auto str = get_if<string>(&response))
-            {
-                output.emplace(kw, *str);
-            }
-        }
-        catch (const sdbusplus::exception_t& e)
-        {
-            if (std::string(e.name()) ==
-                std::string("org.freedesktop.DBus.Error.UnknownObject"))
-            {
-                objFound = false;
-                break;
-            }
-            else if (std::string(e.name()) ==
-                     std::string("org.freedesktop.DBus.Error.UnknownProperty"))
-            {
-                output.emplace(kw, "");
-            }
-        }
-    }
-}
-
-json VpdTool::interfaceDecider(json& itemEEPROM)
-{
-    if (itemEEPROM.find("inventoryPath") == itemEEPROM.end())
-    {
-        throw runtime_error("Inventory Path not found");
-    }
-
-    if (itemEEPROM.find("extraInterfaces") == itemEEPROM.end())
-    {
-        throw runtime_error("Extra Interfaces not found");
-    }
-
-    json subOutput = json::object({});
-    fruType = "FRU";
-
-    json j;
-    objFound = true;
-    string invPath = itemEEPROM.at("inventoryPath");
-
-    j = getVINIProperties(invPath);
-
-    if (objFound)
-    {
-        subOutput.insert(j.begin(), j.end());
-        json js;
-        if (itemEEPROM.find("type") != itemEEPROM.end())
-        {
-            fruType = itemEEPROM.at("type");
-        }
-        js.emplace("TYPE", fruType);
-
-        if (invPath.find("powersupply") != string::npos)
-        {
-            js.emplace("type", POWER_SUPPLY_TYPE_INTERFACE);
-        }
-        else if (invPath.find("fan") != string::npos)
-        {
-            js.emplace("type", FAN_INTERFACE);
-        }
-
-        for (const auto& ex : itemEEPROM["extraInterfaces"].items())
-        {
-            // Properties under Decorator.Asset interface are derived from VINI
-            // keywords. Displaying VINI keywords and skipping Decorator.Asset
-            // interface's properties will avoid duplicate entries in vpd-tool
-            // output.
-            if (ex.key() == "xyz.openbmc_project.Inventory.Decorator.Asset" &&
-                itemEEPROM["extraInterfaces"].find(constants::kwdVpdInf) !=
-                    itemEEPROM["extraInterfaces"].end())
-            {
-                continue;
-            }
-
-            if (!(ex.value().is_null()))
-            {
-                // TODO: Remove this if condition check once inventory json is
-                // updated with xyz location code interface.
-                if (ex.key() == "com.ibm.ipzvpd.Location")
-                {
-                    getExtraInterfaceProperties(
-                        invPath,
-                        "xyz.openbmc_project.Inventory.Decorator.LocationCode",
-                        ex.value(), js);
-                }
-                else
-                {
-                    getExtraInterfaceProperties(invPath, ex.key(), ex.value(),
-                                                js);
-                }
-            }
-            if ((ex.key().find("Item") != string::npos) &&
-                (ex.value().is_null()))
-            {
-                js.emplace("type", ex.key());
-            }
-            subOutput.insert(js.begin(), js.end());
-        }
-    }
-    return subOutput;
-}
-
-json VpdTool::getPresentPropJson(const std::string& invPath)
-{
-    std::variant<bool> response;
-    std::string presence = "Unknown";
-
-    try
-    {
-        makeDBusCall(invPath, "xyz.openbmc_project.Inventory.Item", "Present")
-            .read(response);
-
-        if (auto pVal = get_if<bool>(&response))
-        {
-            presence = *pVal ? "true" : "false";
-        }
-    }
-    catch (const sdbusplus::exception::SdBusError& e)
-    {
-        presence = "Unknown";
-    }
-
-    json js;
-    js.emplace("Present", presence);
-    return js;
-}
-
-json VpdTool::parseInvJson(const json& jsObject, char flag, string fruPath)
-{
-    json output = json::object({});
-    bool validObject = false;
-
-    if (jsObject.find("frus") == jsObject.end())
-    {
-        throw runtime_error("Frus missing in Inventory json");
-    }
-    else
-    {
-        for (const auto& itemFRUS : jsObject["frus"].items())
-        {
-            for (auto itemEEPROM : itemFRUS.value())
-            {
-                json subOutput = json::object({});
-                try
-                {
-                    if (flag == 'O')
-                    {
-                        if (itemEEPROM.find("inventoryPath") ==
-                            itemEEPROM.end())
-                        {
-                            throw runtime_error("Inventory Path not found");
-                        }
-                        else if (itemEEPROM.at("inventoryPath") == fruPath)
-                        {
-                            validObject = true;
-                            subOutput = interfaceDecider(itemEEPROM);
-                            json presentJs = getPresentPropJson(
-                                "/xyz/openbmc_project/inventory" + fruPath);
-                            subOutput.insert(presentJs.begin(),
-                                             presentJs.end());
-                            output.emplace(fruPath, subOutput);
-                            return output;
-                        }
-                    }
-                    else
-                    {
-                        subOutput = interfaceDecider(itemEEPROM);
-                        json presentJs = getPresentPropJson(
-                            "/xyz/openbmc_project/inventory" +
-                            string(itemEEPROM.at("inventoryPath")));
-                        subOutput.insert(presentJs.begin(), presentJs.end());
-                        output.emplace(string(itemEEPROM.at("inventoryPath")),
-                                       subOutput);
-                    }
-                }
-                catch (const exception& e)
-                {
-                    cerr << e.what();
-                }
-            }
-        }
-        if ((flag == 'O') && (!validObject))
-        {
-            throw runtime_error(
-                "Invalid object path. Refer --dumpInventory/-i option.");
-        }
-    }
-    return output;
-}
-
-void VpdTool::dumpInventory(const nlohmann::basic_json<>& jsObject)
-{
-    char flag = 'I';
-    json output = json::array({});
-    output.emplace_back(parseInvJson(jsObject, flag, ""));
-    debugger(output);
-}
-
-void VpdTool::dumpObject(const nlohmann::basic_json<>& jsObject)
-{
-    char flag = 'O';
-    json output = json::array({});
-    output.emplace_back(parseInvJson(jsObject, flag, fruPath));
-    debugger(output);
-}
-
-void VpdTool::readKeyword()
-{
-    const std::string& kw = getDbusNameForThisKw(keyword);
-
-    string interface = "com.ibm.ipzvpd.";
-    variant<Binary> response;
-
-    try
-    {
-        makeDBusCall(INVENTORY_PATH + fruPath, interface + recordName, kw)
-            .read(response);
-
-        string printableVal{};
-        if (auto vec = get_if<Binary>(&response))
-        {
-            printableVal = getPrintableValue(*vec);
-        }
-
-        if (!value.empty())
-        {
-            if (copyStringToFile(printableVal))
-            {
-                std::cout << "Value read is saved in the file " << value
-                          << std::endl;
-                return;
-            }
-            else
-            {
-                std::cerr << "Error while saving the read value in file. "
-                             "Displaying the read value on console"
-                          << std::endl;
-            }
-        }
-
-        json output = json::object({});
-        json kwVal = json::object({});
-        kwVal.emplace(keyword, printableVal);
-
-        output.emplace(fruPath, kwVal);
-
-        debugger(output);
-    }
-    catch (const json::exception& e)
-    {
-        std::cout << "Keyword Value: " << keyword << std::endl;
-        std::cout << e.what() << std::endl;
-    }
-}
-
-int VpdTool::updateKeyword()
-{
-    Binary val;
-
-    if (std::filesystem::exists(value))
-    {
-        if (!fileToVector(val))
-        {
-            std::cout << "Keyword " << keyword << " update failed."
-                      << std::endl;
-            return 1;
-        }
-    }
-    else
-    {
-        val = toBinary(value);
-    }
-
-    auto bus = sdbusplus::bus::new_default();
-    auto properties =
-        bus.new_method_call(BUSNAME, OBJPATH, IFACE, "WriteKeyword");
-    properties.append(static_cast<sdbusplus::message::object_path>(fruPath));
-    properties.append(recordName);
-    properties.append(keyword);
-    properties.append(val);
-
-    // When there is a request to write 10K bytes, there occurs a delay in dbus
-    // call which leads to dbus timeout exception. To avoid such exceptions
-    // increase the timeout period from default 25 seconds to 60 seconds.
-    auto timeoutInMicroSeconds = 60 * 1000000L;
-    auto result = bus.call(properties, timeoutInMicroSeconds);
-
-    if (result.is_method_error())
-    {
-        throw runtime_error("Get api failed");
-    }
-    std::cout << "Data updated successfully " << std::endl;
-    return 0;
-}
-
-void VpdTool::forceReset(const nlohmann::basic_json<>& jsObject)
-{
-    for (const auto& itemFRUS : jsObject["frus"].items())
-    {
-        for (const auto& itemEEPROM : itemFRUS.value().items())
-        {
-            string fru = itemEEPROM.value().at("inventoryPath");
-
-            fs::path fruCachePath = INVENTORY_MANAGER_CACHE;
-            fruCachePath += INVENTORY_PATH;
-            fruCachePath += fru;
-
-            try
-            {
-                for (const auto& it : fs::directory_iterator(fruCachePath))
-                {
-                    if (fs::is_regular_file(it.status()))
-                    {
-                        fs::remove(it);
-                    }
-                }
-            }
-            catch (const fs::filesystem_error& e)
-            {}
-        }
-    }
-
-    cout.flush();
-    string udevRemove = "udevadm trigger -c remove -s \"*nvmem*\" -v";
-    int returnCode = system(udevRemove.c_str());
-    printReturnCode(returnCode);
-
-    string invManagerRestart =
-        "systemctl restart xyz.openbmc_project.Inventory.Manager.service";
-    returnCode = system(invManagerRestart.c_str());
-    printReturnCode(returnCode);
-
-    string sysVpdRestart = "systemctl restart system-vpd.service";
-    returnCode = system(sysVpdRestart.c_str());
-    printReturnCode(returnCode);
-
-    string udevAdd = "udevadm trigger -c add -s \"*nvmem*\" -v";
-    returnCode = system(udevAdd.c_str());
-    printReturnCode(returnCode);
-}
-
-int VpdTool::updateHardware(const uint32_t offset)
-{
-    int rc = 0;
-    Binary val;
-    if (std::filesystem::exists(value))
-    {
-        if (!fileToVector(val))
-        {
-            std::cout << "Keyword " << keyword << " update failed."
-                      << std::endl;
-            return 1;
-        }
-    }
-    else
-    {
-        val = toBinary(value);
-    }
-
-    ifstream inventoryJson(INVENTORY_JSON_SYM_LINK);
-    try
-    {
-        auto json = nlohmann::json::parse(inventoryJson);
-        EditorImpl edit(fruPath, json, recordName, keyword);
-
-        edit.updateKeyword(val, offset, false);
-    }
-    catch (const json::parse_error& ex)
-    {
-        throw(VpdJsonException("Json Parsing failed", INVENTORY_JSON_SYM_LINK));
-    }
-    std::cout << "Data updated successfully " << std::endl;
-    return rc;
-}
-
-void VpdTool::readKwFromHw(const uint32_t& startOffset)
-{
-    ifstream inventoryJson(INVENTORY_JSON_SYM_LINK);
-    auto jsonFile = nlohmann::json::parse(inventoryJson);
-    std::string inventoryPath;
-
-    if (jsonFile["frus"].contains(fruPath))
-    {
-        uint32_t vpdStartOffset = 0;
-
-        for (const auto& item : jsonFile["frus"][fruPath])
-        {
-            if (item.find("offset") != item.end())
-            {
-                vpdStartOffset = item["offset"];
-                break;
-            }
-        }
-
-        if ((startOffset != vpdStartOffset))
-        {
-            std::cerr << "Invalid offset, please correct the offset" << endl;
-            std::cerr << "Recommended Offset is: " << vpdStartOffset << endl;
-            return;
-        }
-        inventoryPath = jsonFile["frus"][fruPath][0]["inventoryPath"];
-    }
-
-    Binary completeVPDFile;
-    fstream vpdFileStream;
-
-    vpdFileStream.exceptions(std::ifstream::badbit | std::ifstream::failbit);
-    try
-    {
-        vpdFileStream.open(fruPath,
-                           std::ios::in | std::ios::out | std::ios::binary);
-
-        auto vpdFileSize = std::min(std::filesystem::file_size(fruPath),
-                                    constants::MAX_VPD_SIZE);
-        if (vpdFileSize == 0)
-        {
-            std::cerr << "File size is 0 for " << fruPath << std::endl;
-            throw std::runtime_error("File size is 0.");
-        }
-
-        completeVPDFile.resize(vpdFileSize);
-        vpdFileStream.seekg(startOffset, ios_base::cur);
-        vpdFileStream.read(reinterpret_cast<char*>(&completeVPDFile[0]),
-                           vpdFileSize);
-        vpdFileStream.clear(std::ios_base::eofbit);
-    }
-    catch (const std::system_error& fail)
-    {
-        std::cerr << "Exception in file handling [" << fruPath
-                  << "] error : " << fail.what();
-        std::cerr << "Stream file size = " << vpdFileStream.gcount()
-                  << std::endl;
-        throw;
-    }
-
-    if (completeVPDFile.empty())
-    {
-        throw std::runtime_error("Invalid File");
-    }
-
-    Impl obj(completeVPDFile, (constants::pimPath + inventoryPath), fruPath,
-             startOffset);
-    std::string keywordVal = obj.readKwFromHw(recordName, keyword);
-
-    keywordVal = getPrintableValue(keywordVal);
-
-    if (keywordVal.empty())
-    {
-        std::cerr << "The given keyword " << keyword << " or record "
-                  << recordName
-                  << " or both are not present in the given FRU path "
-                  << fruPath << std::endl;
-        return;
-    }
-
-    if (!value.empty())
-    {
-        if (copyStringToFile(keywordVal))
-        {
-            std::cout << "Value read is saved in the file " << value
-                      << std::endl;
-            return;
-        }
-        else
-        {
-            std::cerr
-                << "Error while saving the read value in file. Displaying "
-                   "the read value on console"
-                << std::endl;
-        }
-    }
-
-    json output = json::object({});
-    json kwVal = json::object({});
-    kwVal.emplace(keyword, keywordVal);
-    output.emplace(fruPath, kwVal);
-    debugger(output);
-}
-
-void VpdTool::printFixSystemVPDOption(UserOption option)
-{
-    switch (option)
-    {
-        case VpdTool::EXIT:
-            cout << "\nEnter 0 => To exit successfully : ";
-            break;
-        case VpdTool::BACKUP_DATA_FOR_ALL:
-            cout << "\n\nEnter 1 => If you choose the data on backup for all "
-                    "mismatching record-keyword pairs";
-            break;
-        case VpdTool::SYSTEM_BACKPLANE_DATA_FOR_ALL:
-            cout << "\nEnter 2 => If you choose the data on primary for all "
-                    "mismatching record-keyword pairs";
-            break;
-        case VpdTool::MORE_OPTIONS:
-            cout << "\nEnter 3 => If you wish to explore more options";
-            break;
-        case VpdTool::BACKUP_DATA_FOR_CURRENT:
-            cout << "\nEnter 4 => If you choose the data on backup as the "
-                    "right value";
-            break;
-        case VpdTool::SYSTEM_BACKPLANE_DATA_FOR_CURRENT:
-            cout << "\nEnter 5 => If you choose the data on primary as the "
-                    "right value";
-            break;
-        case VpdTool::NEW_VALUE_ON_BOTH:
-            cout << "\nEnter 6 => If you wish to enter a new value to update "
-                    "both on backup and primary";
-            break;
-        case VpdTool::SKIP_CURRENT:
-            cout << "\nEnter 7 => If you wish to skip the above "
-                    "record-keyword pair";
-            break;
-    }
-}
-
-void VpdTool::getSystemDataFromCache(IntfPropMap& svpdBusData)
-{
-    const auto vsys = getAllDBusProperty<GetAllResultType>(
-        constants::pimIntf,
-        "/xyz/openbmc_project/inventory/system/chassis/motherboard",
-        "com.ibm.ipzvpd.VSYS");
-    svpdBusData.emplace("VSYS", vsys);
-
-    const auto vcen = getAllDBusProperty<GetAllResultType>(
-        constants::pimIntf,
-        "/xyz/openbmc_project/inventory/system/chassis/motherboard",
-        "com.ibm.ipzvpd.VCEN");
-    svpdBusData.emplace("VCEN", vcen);
-
-    const auto lxr0 = getAllDBusProperty<GetAllResultType>(
-        constants::pimIntf,
-        "/xyz/openbmc_project/inventory/system/chassis/motherboard",
-        "com.ibm.ipzvpd.LXR0");
-    svpdBusData.emplace("LXR0", lxr0);
-
-    const auto util = getAllDBusProperty<GetAllResultType>(
-        constants::pimIntf,
-        "/xyz/openbmc_project/inventory/system/chassis/motherboard",
-        "com.ibm.ipzvpd.UTIL");
-    svpdBusData.emplace("UTIL", util);
-}
-
-int VpdTool::fixSystemVPD()
-{
-    std::string outline(191, '=');
-    cout << "\nRestorable record-keyword pairs and their data on backup & "
-            "primary.\n\n"
-         << outline << std::endl;
-
-    cout << left << setw(6) << "S.No" << left << setw(8) << "Record" << left
-         << setw(9) << "Keyword" << left << setw(75) << "Data On Backup" << left
-         << setw(75) << "Data On Primary" << left << setw(14)
-         << "Data Mismatch\n"
-         << outline << std::endl;
-
-    uint8_t num = 0;
-
-    // Get system VPD data in map
-    unordered_map<string, DbusPropertyMap> vpdMap;
-    json js;
-    getVPDInMap(constants::systemVpdFilePath, vpdMap, js,
-                constants::pimPath +
-                    static_cast<std::string>(constants::SYSTEM_OBJECT));
-
-    // Get system VPD D-Bus Data in a map
-    IntfPropMap svpdBusData;
-    getSystemDataFromCache(svpdBusData);
-
-    for (const auto& recordKw : svpdKwdMap)
-    {
-        string record = recordKw.first;
-
-        // Extract specific record data from the svpdBusData map.
-        const auto& rec = svpdBusData.find(record);
-
-        if (rec == svpdBusData.end())
-        {
-            std::cerr << record << " not a part of critical system VPD records."
-                      << std::endl;
-            continue;
-        }
-
-        const auto& recData = svpdBusData.find(record)->second;
-
-        string busStr{}, hwValStr{};
-
-        for (const auto& keywordInfo : recordKw.second)
-        {
-            const auto& keyword = get<0>(keywordInfo);
-            string mismatch = "NO"; // no mismatch
-            string hardwareValue{};
-            auto recItr = vpdMap.find(record);
-
-            if (recItr != vpdMap.end())
-            {
-                DbusPropertyMap& kwValMap = recItr->second;
-                auto kwItr = kwValMap.find(keyword);
-                if (kwItr != kwValMap.end())
-                {
-                    hardwareValue = kwItr->second;
-                }
-            }
-
-            inventory::Value kwValue;
-            for (auto& kwData : recData)
-            {
-                if (kwData.first == keyword)
-                {
-                    kwValue = kwData.second;
-                    break;
-                }
-            }
-
-            if (keyword != "SE") // SE to display in Hex string only
-            {
-                ostringstream hwValStream;
-                hwValStream << "0x";
-                hwValStr = hwValStream.str();
-
-                for (uint16_t byte : hardwareValue)
-                {
-                    hwValStream << setfill('0') << setw(2) << hex << byte;
-                    hwValStr = hwValStream.str();
-                }
-
-                if (const auto value = get_if<Binary>(&kwValue))
-                {
-                    busStr = hexString(*value);
-                }
-                if (busStr != hwValStr)
-                {
-                    mismatch = "YES";
-                }
-            }
-            else
-            {
-                if (const auto value = get_if<Binary>(&kwValue))
-                {
-                    busStr = getPrintableValue(*value);
-                }
-                if (busStr != hardwareValue)
-                {
-                    mismatch = "YES";
-                }
-                hwValStr = hardwareValue;
-            }
-            recKwData.push_back(
-                make_tuple(++num, record, keyword, busStr, hwValStr, mismatch));
-
-            std::string splitLine(191, '-');
-            cout << left << setw(6) << static_cast<int>(num) << left << setw(8)
-                 << record << left << setw(9) << keyword << left << setw(75)
-                 << setfill(' ') << busStr << left << setw(75) << setfill(' ')
-                 << hwValStr << left << setw(14) << mismatch << '\n'
-                 << splitLine << endl;
-        }
-    }
-    parseSVPDOptions(js, std::string());
-    return 0;
-}
-
-void VpdTool::parseSVPDOptions(const nlohmann::json& json,
-                               const std::string& backupEEPROMPath)
-{
-    do
-    {
-        printFixSystemVPDOption(VpdTool::BACKUP_DATA_FOR_ALL);
-        printFixSystemVPDOption(VpdTool::SYSTEM_BACKPLANE_DATA_FOR_ALL);
-        printFixSystemVPDOption(VpdTool::MORE_OPTIONS);
-        printFixSystemVPDOption(VpdTool::EXIT);
-
-        int option = 0;
-        cin >> option;
-
-        std::string outline(191, '=');
-        cout << '\n' << outline << endl;
-
-        if (json.find("frus") == json.end())
-        {
-            throw runtime_error("Frus not found in json");
-        }
-
-        bool mismatchFound = false;
-
-        if (option == VpdTool::BACKUP_DATA_FOR_ALL)
-        {
-            for (const auto& data : recKwData)
-            {
-                if (get<5>(data) == "YES")
-                {
-                    EditorImpl edit(constants::systemVpdFilePath, json,
-                                    get<1>(data), get<2>(data));
-                    edit.updateKeyword(toBinary(get<3>(data)), 0, true);
-                    mismatchFound = true;
-                }
-            }
-
-            if (mismatchFound)
-            {
-                cout << "\nData updated successfully for all mismatching "
-                        "record-keyword pairs by choosing their corresponding "
-                        "data from backup. Exit successfully.\n"
-                     << endl;
-            }
-            else
-            {
-                cout << "\nNo mismatch found for any of the above mentioned "
-                        "record-keyword pair. Exit successfully.\n";
-            }
-
-            exit(0);
-        }
-        else if (option == VpdTool::SYSTEM_BACKPLANE_DATA_FOR_ALL)
-        {
-            std::string hardwarePath = constants::systemVpdFilePath;
-            if (!backupEEPROMPath.empty())
-            {
-                hardwarePath = backupEEPROMPath;
-            }
-
-            for (const auto& data : recKwData)
-            {
-                if (get<5>(data) == "YES")
-                {
-                    std::string record = get<1>(data), keyword = get<2>(data);
-
-                    if (!backupEEPROMPath.empty())
-                    {
-                        getBackupRecordKeyword(record, keyword);
-                    }
-
-                    EditorImpl edit(hardwarePath, json, record, keyword);
-                    edit.updateKeyword(toBinary(get<4>(data)), 0, true);
-                    mismatchFound = true;
-                }
-            }
-
-            if (mismatchFound)
-            {
-                cout << "\nData updated successfully for all mismatching "
-                        "record-keyword pairs by choosing their corresponding "
-                        "data from primary VPD.\n"
-                     << endl;
-            }
-            else
-            {
-                cout << "\nNo mismatch found for any of the above mentioned "
-                        "record-keyword pair. Exit successfully.\n";
-            }
-
-            exit(0);
-        }
-        else if (option == VpdTool::MORE_OPTIONS)
-        {
-            cout << "\nIterate through all restorable record-keyword pairs\n";
-
-            for (const auto& data : recKwData)
-            {
-                do
-                {
-                    cout << '\n' << outline << endl;
-
-                    cout << left << setw(6) << "S.No" << left << setw(8)
-                         << "Record" << left << setw(9) << "Keyword" << left
-                         << setw(75) << setfill(' ') << "Backup Data" << left
-                         << setw(75) << setfill(' ') << "Primary Data" << left
-                         << setw(14) << "Data Mismatch" << endl;
-
-                    cout << left << setw(6) << static_cast<int>(get<0>(data))
-                         << left << setw(8) << get<1>(data) << left << setw(9)
-                         << get<2>(data) << left << setw(75) << setfill(' ')
-                         << get<3>(data) << left << setw(75) << setfill(' ')
-                         << get<4>(data) << left << setw(14) << get<5>(data);
-
-                    cout << '\n' << outline << endl;
-
-                    if (get<5>(data) == "NO")
-                    {
-                        cout << "\nNo mismatch found.\n";
-                        printFixSystemVPDOption(VpdTool::NEW_VALUE_ON_BOTH);
-                        printFixSystemVPDOption(VpdTool::SKIP_CURRENT);
-                        printFixSystemVPDOption(VpdTool::EXIT);
-                    }
-                    else
-                    {
-                        printFixSystemVPDOption(
-                            VpdTool::BACKUP_DATA_FOR_CURRENT);
-                        printFixSystemVPDOption(
-                            VpdTool::SYSTEM_BACKPLANE_DATA_FOR_CURRENT);
-                        printFixSystemVPDOption(VpdTool::NEW_VALUE_ON_BOTH);
-                        printFixSystemVPDOption(VpdTool::SKIP_CURRENT);
-                        printFixSystemVPDOption(VpdTool::EXIT);
-                    }
-
-                    cin >> option;
-                    cout << '\n' << outline << endl;
-
-                    if (option == VpdTool::BACKUP_DATA_FOR_CURRENT)
-                    {
-                        EditorImpl edit(constants::systemVpdFilePath, json,
-                                        get<1>(data), get<2>(data));
-                        edit.updateKeyword(toBinary(get<3>(data)), 0, true);
-                        cout << "\nData updated successfully.\n";
-                        break;
-                    }
-                    else if (option ==
-                             VpdTool::SYSTEM_BACKPLANE_DATA_FOR_CURRENT)
-                    {
-                        std::string hardwarePath = constants::systemVpdFilePath;
-                        std::string record = get<1>(data);
-                        std::string keyword = get<2>(data);
-
-                        if (!backupEEPROMPath.empty())
-                        {
-                            hardwarePath = backupEEPROMPath;
-                            getBackupRecordKeyword(record, keyword);
-                        }
-
-                        EditorImpl edit(hardwarePath, json, record, keyword);
-                        edit.updateKeyword(toBinary(get<4>(data)), 0, true);
-                        cout << "\nData updated successfully.\n";
-                        break;
-                    }
-                    else if (option == VpdTool::NEW_VALUE_ON_BOTH)
-                    {
-                        string value;
-                        cout << "\nEnter the new value to update on both "
-                                "primary & backup. Value should be in ASCII or "
-                                "in HEX(prefixed with 0x) : ";
-                        cin >> value;
-                        cout << '\n' << outline << endl;
-
-                        EditorImpl edit(constants::systemVpdFilePath, json,
-                                        get<1>(data), get<2>(data));
-                        edit.updateKeyword(toBinary(value), 0, true);
-
-                        if (!backupEEPROMPath.empty())
-                        {
-                            std::string record = get<1>(data);
-                            std::string keyword = get<2>(data);
-
-                            getBackupRecordKeyword(record, keyword);
-                            EditorImpl edit(backupEEPROMPath, json, record,
-                                            keyword);
-                            edit.updateKeyword(toBinary(value), 0, true);
-                        }
-
-                        cout << "\nData updated successfully.\n";
-                        break;
-                    }
-                    else if (option == VpdTool::SKIP_CURRENT)
-                    {
-                        cout << "\nSkipped the above record-keyword pair. "
-                                "Continue to the next available pair.\n";
-                        break;
-                    }
-                    else if (option == VpdTool::EXIT)
-                    {
-                        cout << "\nExit successfully\n";
-                        exit(0);
-                    }
-                    else
-                    {
-                        cout << "\nProvide a valid option. Retrying for the "
-                                "current record-keyword pair\n";
-                    }
-                } while (1);
-            }
-            exit(0);
-        }
-        else if (option == VpdTool::EXIT)
-        {
-            cout << "\nExit successfully";
-            exit(0);
-        }
-        else
-        {
-            cout << "\nProvide a valid option. Retry.";
-            continue;
-        }
-
-    } while (true);
-}
-
-int VpdTool::cleanSystemVPD()
-{
-    try
-    {
-        // Get system VPD hardware data in map
-        unordered_map<string, DbusPropertyMap> vpdMap;
-        json js;
-        getVPDInMap(constants::systemVpdFilePath, vpdMap, js,
-                    constants::pimPath +
-                        static_cast<std::string>(constants::SYSTEM_OBJECT));
-
-        RecKwValMap kwdsToBeUpdated;
-
-        for (auto recordMap : svpdKwdMap)
-        {
-            const auto& record = recordMap.first;
-            std::unordered_map<std::string, Binary> kwDefault;
-            for (auto keywordMap : recordMap.second)
-            {
-                // Skip those keywords which cannot be reset at manufacturing
-                if (!std::get<3>(keywordMap))
-                {
-                    continue;
-                }
-                const auto& keyword = std::get<0>(keywordMap);
-
-                // Get hardware value for this keyword from vpdMap
-                Binary hardwareValue;
-
-                auto recItr = vpdMap.find(record);
-
-                if (recItr != vpdMap.end())
-                {
-                    DbusPropertyMap& kwValMap = recItr->second;
-                    auto kwItr = kwValMap.find(keyword);
-                    if (kwItr != kwValMap.end())
-                    {
-                        hardwareValue = toBinary(kwItr->second);
-                    }
-                }
-
-                // compare hardware value with the keyword's default value
-                auto defaultValue = std::get<1>(keywordMap);
-                if (hardwareValue != defaultValue)
-                {
-                    EditorImpl edit(constants::systemVpdFilePath, js, record,
-                                    keyword);
-                    edit.updateKeyword(defaultValue, 0, true);
-                }
-            }
-        }
-
-        std::cout << "\n The critical keywords from system backplane VPD has "
-                     "been reset successfully."
-                  << std::endl;
-    }
-    catch (const std::exception& e)
-    {
-        std::cerr << e.what();
-        std::cerr
-            << "\nManufacturing reset on system vpd keywords is unsuccessful";
-    }
-    return 0;
-}
-
-int VpdTool::fixSystemBackupVPD(const std::string& backupEepromPath,
-                                const std::string& backupInvPath)
-{
-    std::string outline(191, '=');
-    cout << "\nRestorable record-keyword pairs and their data on backup & "
-            "primary.\n\n"
-         << outline << std::endl;
-
-    cout << left << setw(6) << "S.No" << left << setw(8) << "Record" << left
-         << setw(9) << "Keyword" << left << setw(75) << "Data On Backup" << left
-         << setw(75) << "Data On Primary" << left << setw(14)
-         << "Data Mismatch\n"
-         << outline << std::endl;
-
-    uint8_t num = 0;
-    // Get system VPD data in map
-    unordered_map<string, DbusPropertyMap> systemVPDMap;
-    json js;
-    getVPDInMap(constants::systemVpdFilePath, systemVPDMap, js,
-                constants::pimPath +
-                    static_cast<std::string>(constants::SYSTEM_OBJECT));
-
-    // Get backup VPD data in map
-    unordered_map<string, DbusPropertyMap> backupVPDMap;
-    getVPDInMap(backupEepromPath, backupVPDMap, js,
-                constants::pimPath + backupInvPath);
-
-    for (const auto& recordKw : svpdKwdMap)
-    {
-        const std::string& primaryRecord = recordKw.first;
-
-        std::string primaryValStr{}, backupValStr{};
-
-        for (const auto& keywordInfo : recordKw.second)
-        {
-            const auto& primaryKeyword = get<0>(keywordInfo);
-            const auto& bkRecord = get<4>(keywordInfo);
-            const auto& bkKeyword = get<5>(keywordInfo);
-            string mismatch = "NO";
-            string primaryValue{};
-            string backupValue{};
-
-            // Find keyword value for system VPD (primary VPD)
-            auto primaryRecItr = systemVPDMap.find(primaryRecord);
-            if (primaryRecItr != systemVPDMap.end())
-            {
-                DbusPropertyMap& primaryKwValMap = primaryRecItr->second;
-                auto kwItr = primaryKwValMap.find(primaryKeyword);
-                if (kwItr != primaryKwValMap.end())
-                {
-                    primaryValue = kwItr->second;
-                }
-            }
-
-            // Find keyword value for backup VPD
-            auto bkRecItr = backupVPDMap.find(bkRecord);
-            if (bkRecItr != backupVPDMap.end())
-            {
-                DbusPropertyMap& bkKwValMap = bkRecItr->second;
-                auto kwItr = bkKwValMap.find(bkKeyword);
-                if (kwItr != bkKwValMap.end())
-                {
-                    backupValue = kwItr->second;
-                }
-            }
-
-            // SE to display in hex string only
-            if (primaryKeyword != "SE")
-            {
-                ostringstream hwValStream;
-                hwValStream << "0x";
-                primaryValStr = hwValStream.str();
-
-                for (uint16_t byte : primaryValue)
-                {
-                    hwValStream << setfill('0') << setw(2) << hex << byte;
-                    primaryValStr = hwValStream.str();
-                }
-
-                hwValStream.str(std::string());
-                hwValStream << "0x";
-                backupValStr = hwValStream.str();
-
-                for (uint16_t byte : backupValue)
-                {
-                    hwValStream << setfill('0') << setw(2) << hex << byte;
-                    backupValStr = hwValStream.str();
-                }
-                if (primaryValStr != backupValStr)
-                {
-                    mismatch = "YES";
-                }
-            }
-            else
-            {
-                if (primaryValue != backupValue)
-                {
-                    mismatch = "YES";
-                }
-
-                primaryValStr = primaryValue;
-                backupValStr = backupValue;
-            }
-
-            recKwData.push_back(
-                make_tuple(++num, primaryRecord, primaryKeyword, backupValStr,
-                           primaryValStr, mismatch));
-
-            std::string splitLine(191, '-');
-            cout << left << setw(6) << static_cast<int>(num) << left << setw(8)
-                 << primaryRecord << left << setw(9) << primaryKeyword << left
-                 << setw(75) << setfill(' ') << backupValStr << left << setw(75)
-                 << setfill(' ') << primaryValStr << left << setw(14)
-                 << mismatch << '\n'
-                 << splitLine << endl;
-        }
-    }
-
-    parseSVPDOptions(js, backupEepromPath);
-    return 0;
-}
diff --git a/vpd_tool_impl.hpp b/vpd_tool_impl.hpp
deleted file mode 100644
index 47a555f..0000000
--- a/vpd_tool_impl.hpp
+++ /dev/null
@@ -1,322 +0,0 @@
-#include "config.h"
-
-#include "editor_impl.hpp"
-#include "ibm_vpd_utils.hpp"
-#include "types.hpp"
-
-#include <nlohmann/json.hpp>
-
-#include <string>
-
-using json = nlohmann::json;
-
-// <S.no, Record, Keyword, D-Bus value, HW value, Data mismatch>
-using SystemCriticalData =
-    std::vector<std::tuple<uint8_t, std::string, std::string, std::string,
-                           std::string, std::string>>;
-
-class VpdTool
-{
-  private:
-    const std::string fruPath;
-    const std::string recordName;
-    const std::string keyword;
-    const std::string value;
-    bool objFound = true;
-    SystemCriticalData recKwData;
-
-    // Store Type of FRU
-    std::string fruType;
-
-    /**
-     * @brief Debugger
-     * Displays the output in JSON.
-     *
-     * @param[in] output - json output to be displayed
-     */
-    void debugger(json output);
-
-    /**
-     * @brief make Dbus Call
-     *
-     * @param[in] objectName - dbus Object
-     * @param[in] interface - dbus Interface
-     * @param[in] kw - keyword under the interface
-     *
-     * @return dbus call response
-     */
-    auto makeDBusCall(const std::string& objectName,
-                      const std::string& interface, const std::string& kw);
-
-    /**
-     * @brief Get VINI properties
-     * Making a dbus call for properties [SN, PN, CC, FN, DR]
-     * under VINI interface.
-     *
-     * @param[in] invPath - Value of inventory Path
-     *
-     * @return json output which gives the properties under invPath's VINI
-     * interface
-     */
-    json getVINIProperties(std::string invPath);
-
-    /**
-     * @brief Get ExtraInterface Properties
-     * Making a dbus call for those properties under extraInterfaces.
-     *
-     * @param[in] invPath - Value of inventory path
-     * @param[in] extraInterface - One of the invPath's extraInterfaces whose
-     * value is not null
-     * @param[in] prop - All properties of the extraInterface.
-     * @param[out] output - output json which has the properties under invPath's
-     * extra interface.
-     */
-    void getExtraInterfaceProperties(const std::string& invPath,
-                                     const std::string& extraInterface,
-                                     const json& prop, json& output);
-
-    /**
-     * @brief Interface Decider
-     * Decides whether to make the dbus call for
-     * getting properties from extraInterface or from
-     * VINI interface, depending on the value of
-     * extraInterfaces object in the inventory json.
-     *
-     * @param[in] itemEEPROM - holds the reference of one of the EEPROM objects.
-     *
-     * @return json output for one of the EEPROM objects.
-     */
-    json interfaceDecider(json& itemEEPROM);
-
-    /**
-     * @brief Parse Inventory JSON
-     * Parses the complete inventory json and depending upon
-     * the user option makes the dbuscall for the frus
-     * via interfaceDecider function.
-     *
-     * @param[in] jsObject - Inventory json object
-     * @param[in] flag - flag which tells about the user option(either
-     * dumpInventory or dumpObject)
-     * @param[in] fruPath - fruPath is empty for dumpInventory option and holds
-     *                      valid fruPath for dumpObject option.
-     *
-     * @return output json
-     */
-    json parseInvJson(const json& jsObject, char flag, std::string fruPath);
-
-    /**
-     * @brief eraseInventoryPath
-     * Remove the INVENTORY_PATH - "/xyz/openbmc_project/inventory"
-     * for code convenience.
-     *
-     * @param[out] fru - Reference to the fru path whose INVENTORY_PATH is
-     * stripped off.
-     */
-    void eraseInventoryPath(std::string& fru);
-
-    /**
-     * @brief printReturnCode
-     * Prints the return code of the program in console output, whenever
-     * the program fails to exit successfully.
-     *
-     * @param[in] returnCode - return code of the program.
-     */
-    void printReturnCode(int returnCode);
-
-    /**
-     * @brief Convert hex/ascii values to Binary
-     * @param[in] - value in hex/ascii.
-     * @param[out] - value in binary.
-     */
-    openpower::vpd::Binary toBinary(const std::string& value);
-
-    /**
-     * @brief Get the json which has Present property value of the given fru.
-     * @param[in] invPath - inventory path of the fru.
-     * @return output json which has the Present property value.
-     */
-    json getPresentPropJson(const std::string& invPath);
-
-    /**
-     * @brief Parse through the options to fix system VPD
-     *
-     * @param[in] json - Inventory JSON
-     * @param[in] backupEEPROMPath - Backup VPD path
-     */
-    void parseSVPDOptions(const nlohmann::json& json,
-                          const std::string& backupEEPROMPath);
-
-    /**
-     * @brief List of user options that can be used to fix system VPD keywords.
-     */
-    enum UserOption
-    {
-        EXIT = 0,
-        BACKUP_DATA_FOR_ALL = 1,
-        SYSTEM_BACKPLANE_DATA_FOR_ALL = 2,
-        MORE_OPTIONS = 3,
-        BACKUP_DATA_FOR_CURRENT = 4,
-        SYSTEM_BACKPLANE_DATA_FOR_CURRENT = 5,
-        NEW_VALUE_ON_BOTH = 6,
-        SKIP_CURRENT = 7
-    };
-
-    /**
-     * @brief Print options to fix system VPD.
-     * @param[in] option - Option to use.
-     */
-    void printFixSystemVPDOption(UserOption option);
-
-    /**
-     * @brief Get System VPD data stored in cache
-     *
-     * @param[in] svpdBusData - Map of system VPD record data.
-     */
-    void getSystemDataFromCache(
-        openpower::vpd::inventory::IntfPropMap& svpdBusData);
-
-    /**
-     * @brief Get data from file and store in binary format
-     *
-     * @param[out] data - The resulting binary data
-     *
-     * @return If operation is success return true, else on failure return
-     * false.
-     */
-    bool fileToVector(openpower::vpd::Binary& data);
-
-    /**
-     * @brief Copy string data to file.
-     *
-     * @param[in] input - input string
-     *
-     * @return If operation is success return true, else on failure return
-     * false.
-     */
-    bool copyStringToFile(const std::string& input);
-
-  public:
-    /**
-     * @brief Dump the complete inventory in JSON format
-     *
-     * @param[in] jsObject - Inventory JSON specified in configure file.
-     */
-    void dumpInventory(const nlohmann::basic_json<>& jsObject);
-
-    /**
-     * @brief Dump the given inventory object in JSON format
-     *
-     * @param[in] jsObject - Inventory JSON specified in configure file.
-     */
-    void dumpObject(const nlohmann::basic_json<>& jsObject);
-
-    /**
-     * @brief Read keyword
-     * Read the given object path, record name and keyword
-     * from the inventory and display the value of the keyword
-     * in JSON format. The read value will be piped to file if --file is given
-     * by the user. Else the value read will be displayed on console.
-     */
-    void readKeyword();
-
-    /**
-     * @brief Update Keyword
-     * Update the given keyword with the given value.
-     *
-     * @return return code (Success(0)/Failure(-1))
-     */
-    int updateKeyword();
-
-    /**
-     * @brief Force Reset
-     * Clearing the inventory cache data and restarting the
-     * phosphor inventory manager and also retriggering all the
-     * udev events.
-     *
-     * @param[in] jsObject - Inventory JSON specified in configure file.
-     */
-    void forceReset(const nlohmann::basic_json<>& jsObject);
-
-    /**
-     * @brief Update Hardware
-     * The given data is updated only on the given hardware path and not on dbus
-     * for the given record-keyword pair. The user can now update record-keyword
-     * value for any hardware path irrespective of whether its present or not in
-     * VPD JSON, by providing a valid offset. By default offset takes 0.
-     *
-     * @param[in] offset - VPD offset.
-     * @return returncode (success/failure).
-     */
-    int updateHardware(const uint32_t offset);
-
-    /**
-     * @brief Read Keyword from Hardware
-     * This api is to read a keyword directly from the hardware. The hardware
-     * path, record name and keyword name are received at the time of
-     * initialising the constructor.
-     * The user can now read keyword from any hardware path irrespective of
-     * whether its present or not in VPD JSON, by providing a valid offset. By
-     * default offset takes 0. The read value can be either saved in a
-     * file/displayed on console.
-     *
-     * @param[in] startOffset - VPD offset.
-     */
-    void readKwFromHw(const uint32_t& startOffset);
-
-    /**
-     * @brief Fix System VPD keyword.
-     * This API provides an interactive way to fix system VPD keywords that are
-     * part of restorable record-keyword pairs. The user can use this option to
-     * restore the restorable keywords in cache or in hardware or in both cache
-     * and hardware.
-     * @return returncode (success/failure).
-     */
-    int fixSystemVPD();
-
-    /**
-     * @brief Clean specific keywords in system backplane VPD
-     *
-     * @return return code (success/failure)
-     */
-    int cleanSystemVPD();
-
-    /**
-     * @brief Fix system VPD and its backup VPD
-     * API is triggered if the backup of system VPD has to be taken in a
-     * hardware VPD. User can use the --fixSystemVPD option to restore the
-     * keywords in backup VPD and/or system VPD.
-     *
-     * @param[in] backupEepromPath - Backup VPD path
-     * @param[in] backupInvPath - Backup inventory path
-     * @return returncode
-     */
-    int fixSystemBackupVPD(const std::string& backupEepromPath,
-                           const std::string& backupInvPath);
-
-    /**
-     * @brief Constructor
-     * Constructor is called during the
-     * object instantiation for dumpInventory option and
-     * forceReset option.
-     */
-    VpdTool() {}
-
-    /**
-     * @brief Constructor
-     * Constructor is called during the
-     * object instantiation for dumpObject option.
-     */
-    VpdTool(const std::string&& fru) : fruPath(std::move(fru)) {}
-
-    /**
-     * @brief Constructor
-     * Constructor is called during the
-     * object instantiation for updateKeyword option.
-     */
-
-    VpdTool(const std::string&& fru, const std::string&& recName,
-            const std::string&& kw, const std::string&& val) :
-        fruPath(std::move(fru)), recordName(std::move(recName)),
-        keyword(std::move(kw)), value(std::move(val))
-    {}
-};
diff --git a/vpdecc/vpdecc.h b/vpdecc/vpdecc.h
index 705d107..2286abe 100644
--- a/vpdecc/vpdecc.h
+++ b/vpdecc/vpdecc.h
@@ -27,7 +27,7 @@
 /* this function creates the ECC */
 /*                                                                            */
 /* @param     pData           In-Buffer containing the raw VPD data */
-/*                                            (won't be changed) */
+/*                                            (wont't be changed) */
 /*                                                                            */
 /* @param     vDataLength     In        should contain the length of the
  * Data */
diff --git a/write.cpp b/write.cpp
deleted file mode 100644
index 31ff229..0000000
--- a/write.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "write.hpp"
-
-#include "defines.hpp"
-#include "writefru.hpp"
-
-#include <algorithm>
-#include <exception>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace inventory
-{
-
-// Some systems have two MAC addresses
-static const std::unordered_map<std::string, Fru> supportedFrus = {
-    {"BMC", Fru::BMC},
-    {"ETHERNET", Fru::ETHERNET},
-    {"ETHERNET1", Fru::ETHERNET1}};
-
-void write(const std::string& type, const Store& vpdStore,
-           const std::string& path)
-{
-    // Get the enum corresponding to type, and call
-    // appropriate write FRU method.
-
-    std::string fru = type;
-    std::transform(fru.begin(), fru.end(), fru.begin(),
-                   [](unsigned char c) { return std::toupper(c); });
-    auto iterator = supportedFrus.find(fru);
-    if (supportedFrus.end() == iterator)
-    {
-        throw std::runtime_error("Unsupported FRU: " + std::move(fru));
-    }
-    else
-    {
-        switch (iterator->second)
-        {
-            case Fru::BMC:
-            {
-                writeFru<Fru::BMC>(vpdStore, path);
-                break;
-            }
-
-            case Fru::ETHERNET:
-            {
-                writeFru<Fru::ETHERNET>(vpdStore, path);
-                break;
-            }
-
-            case Fru::ETHERNET1:
-            {
-                writeFru<Fru::ETHERNET1>(vpdStore, path);
-                break;
-            }
-
-            default:
-                break;
-        }
-    }
-}
-
-} // namespace inventory
-} // namespace vpd
-} // namespace openpower
diff --git a/write.hpp b/write.hpp
deleted file mode 100644
index ac1b148..0000000
--- a/write.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#pragma once
-
-#include <store.hpp>
-
-#include <string>
-
-namespace openpower
-{
-namespace vpd
-{
-namespace inventory
-{
-
-/** @brief API to write parsed VPD to inventory
- *
- *  @param [in] type - FRU type
- *  @param [in] vpdStore - Store object containing parsed VPD
- *  @param [in] path - FRU object path
- */
-void write(const std::string& type, const Store& vpdStore,
-           const std::string& path);
-
-} // namespace inventory
-} // namespace vpd
-} // namespace openpower
diff --git a/writefru.mako.hpp b/writefru.mako.hpp
deleted file mode 100755
index 6e04649..0000000
--- a/writefru.mako.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-## This file is a template.  The comment below is emitted
-## into the rendered file; feel free to edit this file.
-// WARNING: Generated header. Do not edit!
-
-
-#pragma once
-
-#include <map>
-#include <iostream>
-#include "defines.hpp"
-#include "store.hpp"
-#include "types.hpp"
-#include "common_utility.hpp"
-#include "extra-properties-gen.hpp"
-
-namespace openpower
-{
-namespace vpd
-{
-namespace inventory
-{
-using namespace openpower::vpd::common::utility;
-
-/** @brief API to write parsed VPD to inventory,
- *      for a specific FRU
- *
- *  @param [in] vpdStore - Store object containing
- *      parsed VPD
- *  @param [in] path - FRU object path
- */
-template<Fru F>
-void writeFru(const Store& /*vpdStore*/, const std::string& /*path*/) {
-    throw std::runtime_error("Not implemented");
-}
-
-% for key in fruDict.keys():
-<%
-    fru = fruDict[key]
-%>\
-// Specialization of ${key}
-template<>
-void writeFru<Fru::${key}>(const Store& vpdStore,
-                           const std::string& path)
-{
-    ObjectMap objects;
-    InterfaceMap interfaces;
-    auto iter = extra::objects.find(path);
-
-    // Inventory manager needs object path, list of interface names to be
-    // implemented, and property:value pairs contained in said interfaces
-
-    % for interface, properties in fru.items():
-<%
-        names = interface.split(".")
-        intfName = names[0] + names[-1]
-%>\
-    PropertyMap ${intfName}Props;
-        % if properties:
-            % for name, value in properties.items():
-                % if fru and interface and name and value:
-<%
-                record, keyword = name.split(",")
-%>\
-    if (vpdStore.exists<Record::${record}, record::Keyword::${keyword}>())
-    {
-        ${intfName}Props["${value}"] =
-            vpdStore.get<Record::${record}, record::Keyword::${keyword}>();
-    }
-                % endif
-            % endfor
-        % endif
-    // Check and update extra properties
-    if(extra::objects.end() != iter)
-    {
-        auto propIter = (iter->second).find("${interface}");
-        if((iter->second).end() != propIter)
-        {
-            for(const auto& map : propIter->second)
-            {
-                ${intfName}Props[map.first] = map.second;
-            }
-        }
-    }
-    interfaces.emplace("${interface}",
-                       std::move(${intfName}Props));
-    % endfor
-
-    sdbusplus::message::object_path object(path);
-    // Check and update extra properties
-    if(extra::objects.end() != iter)
-    {
-        for(const auto& entry : iter->second)
-        {
-            if(interfaces.end() == interfaces.find(entry.first))
-            {
-                interfaces.emplace(entry.first, entry.second);
-            }
-        }
-    }
-    objects.emplace(std::move(object), std::move(interfaces));
-
-    callPIM(std::move(objects));
-}
-
-% endfor
-} // namespace inventory
-} // namespace vpd
-} // namespace openpower
diff --git a/writefru.py b/writefru.py
deleted file mode 100755
index d623eb7..0000000
--- a/writefru.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python3
-
-import argparse
-import os
-
-import yaml
-from mako.template import Template
-
-
-def main():
-    parser = argparse.ArgumentParser(
-        description="OpenPOWER FRU VPD parser and code generator"
-    )
-
-    parser.add_argument(
-        "-i",
-        "--inventory_yaml",
-        dest="inventory_yaml",
-        default="writefru.yaml",
-        help="input inventory yaml file to parse",
-    )
-    args = parser.parse_args()
-
-    with open(os.path.join(script_dir, args.inventory_yaml), "r") as fd:
-        yamlDict = yaml.safe_load(fd)
-
-        # Render the mako template
-        template = os.path.join(script_dir, "writefru.mako.hpp")
-        t = Template(filename=template)
-        with open("writefru.hpp", "w") as fd:
-            fd.write(t.render(fruDict=yamlDict))
-
-
-if __name__ == "__main__":
-    script_dir = os.path.dirname(os.path.realpath(__file__))
-    main()
diff --git a/writefru.yaml b/writefru.yaml
deleted file mode 100644
index c620b59..0000000
--- a/writefru.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-BMC:
-    xyz.openbmc_project.Inventory.Decorator.Asset:
-        VINI,PN: PartNumber
-        VINI,SN: SerialNumber
-        OPFR,VN: Manufacturer
-    xyz.openbmc_project.Inventory.Item:
-        VINI,DR: PrettyName
-    xyz.openbmc_project.Common.UUID:
-        OPFR,UD: UUID
-    xyz.openbmc_project.Inventory.Item.Bmc:
-
-ETHERNET:
-    xyz.openbmc_project.Inventory.Item.NetworkInterface:
-        VINI,B1: MACAddress
-        OPFR,B1: MACAddress
-    xyz.openbmc_project.Inventory.Item.Ethernet:
-
-ETHERNET1:
-    xyz.openbmc_project.Inventory.Item.NetworkInterface:
-        VINI,B1: MACAddress
-        OPFR,B1: MACAddress
-    xyz.openbmc_project.Inventory.Item.Ethernet:
