configurations: add FRU configurations

Add configurations for (BMC accessible) FRUs. There's code, that on
finding these JSONs, will create the PLFM FRU table and FRU record set
PDRs. Previously these configs were included in the bitbake metadata,
now they're being moved in-repo.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I8af0041cb3f1e1d30f8823348294292b3f8db00b
diff --git a/configurations/fru/Bmc_General.json b/configurations/fru/Bmc_General.json
new file mode 100644
index 0000000..b1a164f
--- /dev/null
+++ b/configurations/fru/Bmc_General.json
@@ -0,0 +1,65 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 1,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Bmc"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Model",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "PartNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "SerialNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Manufacturer",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Item",
+               "property_name" : "PrettyName",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
+               "property_name" : "AssetTag",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
+
diff --git a/configurations/fru/FRU_Master.json b/configurations/fru/FRU_Master.json
new file mode 100644
index 0000000..93de1d1
--- /dev/null
+++ b/configurations/fru/FRU_Master.json
@@ -0,0 +1,34 @@
+{
+    "service":"xyz.openbmc_project.Inventory.Manager",
+    "root_path":"/xyz/openbmc_project/inventory",
+    "entities":[
+        {
+            "interface" : "xyz.openbmc_project.Inventory.Item.Board.Motherboard",
+            "entity_type" : 64
+        },
+        {
+            "interface" : "xyz.openbmc_project.Inventory.Item.Bmc",
+            "entity_type" : 137
+        },
+        {
+            "interface" : "xyz.openbmc_project.Inventory.Item.Panel",
+            "entity_type" : 69
+        },
+        {
+            "interface" : "xyz.openbmc_project.Inventory.Item.Vrm",
+            "entity_type" : 123
+        },
+        {
+            "interface" : "xyz.openbmc_project.Inventory.Item.Tpm",
+            "entity_type" : 24576
+        },
+        {
+            "interface" : "xyz.openbmc_project.Inventory.Item.System",
+            "entity_type" : 11521
+        },
+        {
+            "interface" : "xyz.openbmc_project.Inventory.Item.Chassis",
+            "entity_type" : 45
+        }
+    ]
+}
diff --git a/configurations/fru/Motherboard_General.json b/configurations/fru/Motherboard_General.json
new file mode 100644
index 0000000..1f6036e
--- /dev/null
+++ b/configurations/fru/Motherboard_General.json
@@ -0,0 +1,65 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 1,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Board.Motherboard"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Model",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "PartNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "SerialNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Manufacturer",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Item",
+               "property_name" : "PrettyName",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
+               "property_name" : "AssetTag",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
+
diff --git a/configurations/fru/Panel_General.json b/configurations/fru/Panel_General.json
new file mode 100644
index 0000000..d81ae82
--- /dev/null
+++ b/configurations/fru/Panel_General.json
@@ -0,0 +1,65 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 1,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Panel"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Model",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "PartNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "SerialNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Manufacturer",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Item",
+               "property_name" : "PrettyName",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
+               "property_name" : "AssetTag",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
+
diff --git a/configurations/fru/System_General.json b/configurations/fru/System_General.json
new file mode 100644
index 0000000..5f6d10d
--- /dev/null
+++ b/configurations/fru/System_General.json
@@ -0,0 +1,64 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 1,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.System"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Model",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "PartNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "SerialNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Manufacturer",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Item",
+               "property_name" : "PrettyName",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
+               "property_name" : "AssetTag",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
diff --git a/configurations/fru/Tpm_General.json b/configurations/fru/Tpm_General.json
new file mode 100644
index 0000000..40a54a4
--- /dev/null
+++ b/configurations/fru/Tpm_General.json
@@ -0,0 +1,65 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 1,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Tpm"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Model",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "PartNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "SerialNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Manufacturer",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Item",
+               "property_name" : "PrettyName",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
+               "property_name" : "AssetTag",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
+
diff --git a/configurations/fru/Vrm_General.json b/configurations/fru/Vrm_General.json
new file mode 100644
index 0000000..50325c0
--- /dev/null
+++ b/configurations/fru/Vrm_General.json
@@ -0,0 +1,65 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 1,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Vrm"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Model",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "PartNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "SerialNumber",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.Asset",
+               "property_name" : "Manufacturer",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Item",
+               "property_name" : "PrettyName",
+               "property_type" : "string"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "xyz.openbmc_project.Inventory.Decorator.AssetTag",
+               "property_name" : "AssetTag",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
+
diff --git a/configurations/meson.build b/configurations/meson.build
new file mode 100644
index 0000000..55ad06c
--- /dev/null
+++ b/configurations/meson.build
@@ -0,0 +1,14 @@
+systemd = dependency('systemd')
+systemd_system_unit_dir = systemd.get_pkgconfig_variable(
+    'systemdsystemunitdir',
+    define_variable: ['prefix', get_option('prefix')])
+packagedir = join_paths(
+    get_option('prefix'),
+    get_option('datadir'),
+    meson.project_name(),
+)
+
+install_subdir('fru', install_dir: packagedir)
+if get_option('oem-ibm').enabled()
+    install_subdir('../oem/ibm/configurations/fru', install_dir: packagedir)
+endif
diff --git a/meson.build b/meson.build
index 3bd11f9..797d8f4 100644
--- a/meson.build
+++ b/meson.build
@@ -91,6 +91,8 @@
 
 subdir('pldmtool')
 
+subdir('configurations')
+
 if get_option('tests').enabled()
   subdir('test')
 endif
diff --git a/oem/ibm/configurations/fru/Bmc_LocationCode.json b/oem/ibm/configurations/fru/Bmc_LocationCode.json
new file mode 100644
index 0000000..6af12b8
--- /dev/null
+++ b/oem/ibm/configurations/fru/Bmc_LocationCode.json
@@ -0,0 +1,20 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Bmc"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 254,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.Location",
+               "property_name" : "LocationCode",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
+
diff --git a/oem/ibm/configurations/fru/Bmc_VINI.json b/oem/ibm/configurations/fru/Bmc_VINI.json
new file mode 100644
index 0000000..df1c78a
--- /dev/null
+++ b/oem/ibm/configurations/fru/Bmc_VINI.json
@@ -0,0 +1,165 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Bmc"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "RT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B3",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B4",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B7",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 6,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CC",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 7,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 9,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "DR",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 10,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FG",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 12,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 13,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HW",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 14,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HX",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 15,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "PN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 16,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "SN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 17,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "TS",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 18,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "VZ",
+               "property_type" : "bytearray"
+            }
+      }
+
+    ]
+}
+
diff --git a/oem/ibm/configurations/fru/Bmc_VR10.json b/oem/ibm/configurations/fru/Bmc_VR10.json
new file mode 100644
index 0000000..2427b99
--- /dev/null
+++ b/oem/ibm/configurations/fru/Bmc_VR10.json
@@ -0,0 +1,56 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Bmc"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VR10",
+               "property_name" : "RT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VR10",
+               "property_name" : "DC",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VR10",
+               "property_name" : "DR",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VR10",
+               "property_name" : "FL",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 6,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VR10",
+               "property_name" : "WA",
+               "property_type" : "bytearray"
+            }
+      }
+    ]
+}
+
diff --git a/oem/ibm/configurations/fru/Bmc_VW10.json b/oem/ibm/configurations/fru/Bmc_VW10.json
new file mode 100644
index 0000000..7b469a5
--- /dev/null
+++ b/oem/ibm/configurations/fru/Bmc_VW10.json
@@ -0,0 +1,38 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Bmc"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VW10",
+               "property_name" : "RT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VW10",
+               "property_name" : "DR",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VW10",
+               "property_name" : "GD",
+               "property_type" : "bytearray"
+            }
+      }
+    ]
+}
+
diff --git a/oem/ibm/configurations/fru/Chassis_LocationCode.json b/oem/ibm/configurations/fru/Chassis_LocationCode.json
new file mode 100644
index 0000000..48ba98e
--- /dev/null
+++ b/oem/ibm/configurations/fru/Chassis_LocationCode.json
@@ -0,0 +1,19 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Chassis"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 254,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.Location",
+               "property_name" : "LocationCode",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
diff --git a/oem/ibm/configurations/fru/Motherboard_LXR0.json b/oem/ibm/configurations/fru/Motherboard_LXR0.json
new file mode 100644
index 0000000..cb260e7
--- /dev/null
+++ b/oem/ibm/configurations/fru/Motherboard_LXR0.json
@@ -0,0 +1,38 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Board.Motherboard"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.LXR0",
+               "property_name" : "RT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.LXR0",
+               "property_name" : "LX",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.LXR0",
+               "property_name" : "VZ",
+               "property_type" : "bytearray"
+            }
+      }
+    ]
+}
+
diff --git a/oem/ibm/configurations/fru/Motherboard_LocationCode.json b/oem/ibm/configurations/fru/Motherboard_LocationCode.json
new file mode 100644
index 0000000..713c4d1
--- /dev/null
+++ b/oem/ibm/configurations/fru/Motherboard_LocationCode.json
@@ -0,0 +1,19 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Board.Motherboard"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 254,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.Location",
+               "property_name" : "LocationCode",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
diff --git a/oem/ibm/configurations/fru/Motherboard_VINI.json b/oem/ibm/configurations/fru/Motherboard_VINI.json
new file mode 100644
index 0000000..c58b4d5
--- /dev/null
+++ b/oem/ibm/configurations/fru/Motherboard_VINI.json
@@ -0,0 +1,165 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Board.Motherboard"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "RT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B3",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B4",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B7",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 6,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CC",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 7,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 9,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "DR",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 10,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FG",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 12,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 13,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HW",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 14,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HX",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 15,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "PN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 16,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "SN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 17,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "TS",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 18,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "VZ",
+               "property_type" : "bytearray"
+            }
+      }
+
+    ]
+}
+
diff --git a/oem/ibm/configurations/fru/Motherboard_VSYS.json b/oem/ibm/configurations/fru/Motherboard_VSYS.json
new file mode 100644
index 0000000..973e50b
--- /dev/null
+++ b/oem/ibm/configurations/fru/Motherboard_VSYS.json
@@ -0,0 +1,146 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Board.Motherboard"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "RT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "BR",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "DR",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "FV",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 6,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "ID",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 7,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "MN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "NN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 9,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "RB",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 10,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "RG",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "SE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 12,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "SG",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 13,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "SU",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 14,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "TM",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 15,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "TN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 16,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VSYS",
+               "property_name" : "WN",
+               "property_type" : "bytearray"
+            }
+      }
+    ]
+}
+
diff --git a/oem/ibm/configurations/fru/Panel_LocationCode.json b/oem/ibm/configurations/fru/Panel_LocationCode.json
new file mode 100644
index 0000000..8fc54f3
--- /dev/null
+++ b/oem/ibm/configurations/fru/Panel_LocationCode.json
@@ -0,0 +1,19 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Panel"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 254,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.Location",
+               "property_name" : "LocationCode",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
diff --git a/oem/ibm/configurations/fru/Panel_VINI.json b/oem/ibm/configurations/fru/Panel_VINI.json
new file mode 100644
index 0000000..dd5ca41
--- /dev/null
+++ b/oem/ibm/configurations/fru/Panel_VINI.json
@@ -0,0 +1,165 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Panel"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "RT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B3",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B4",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B7",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 6,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CC",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 7,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 9,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "DR",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 10,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FG",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 12,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 13,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HW",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 14,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HX",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 15,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "PN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 16,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "SN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 17,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "TS",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 18,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "VZ",
+               "property_type" : "bytearray"
+            }
+      }
+
+    ]
+}
+
diff --git a/oem/ibm/configurations/fru/System_LocationCode.json b/oem/ibm/configurations/fru/System_LocationCode.json
new file mode 100644
index 0000000..23ed69c
--- /dev/null
+++ b/oem/ibm/configurations/fru/System_LocationCode.json
@@ -0,0 +1,19 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.System"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 254,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.Location",
+               "property_name" : "LocationCode",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
diff --git a/oem/ibm/configurations/fru/System_VSYS.json b/oem/ibm/configurations/fru/System_VSYS.json
new file mode 100644
index 0000000..fceab71
--- /dev/null
+++ b/oem/ibm/configurations/fru/System_VSYS.json
@@ -0,0 +1,128 @@
+{
+	"record_details": {
+		"fru_record_type": 254,
+		"fru_encoding_type": 1,
+		"dbus_interface_name": "xyz.openbmc_project.Inventory.Item.System"
+	},
+	"fru_fields": [{
+			"fru_field_type": 2,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "RT",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 3,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "BR",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 4,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "DR",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 5,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "FV",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 6,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "ID",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 7,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "MN",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 8,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "NN",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 9,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "RB",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 10,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "RG",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 11,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "SE",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 12,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "SG",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 13,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "SU",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 14,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "TM",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 15,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "TN",
+				"property_type": "bytearray"
+			}
+		},
+		{
+			"fru_field_type": 16,
+			"dbus": {
+				"interface": "com.ibm.ipzvpd.VSYS",
+				"property_name": "WN",
+				"property_type": "bytearray"
+			}
+		}
+	]
+}
diff --git a/oem/ibm/configurations/fru/Tpm_LocationCode.json b/oem/ibm/configurations/fru/Tpm_LocationCode.json
new file mode 100644
index 0000000..cef2ce2
--- /dev/null
+++ b/oem/ibm/configurations/fru/Tpm_LocationCode.json
@@ -0,0 +1,19 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Tpm"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 254,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.Location",
+               "property_name" : "LocationCode",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
diff --git a/oem/ibm/configurations/fru/Tpm_VINI.json b/oem/ibm/configurations/fru/Tpm_VINI.json
new file mode 100644
index 0000000..1622e56
--- /dev/null
+++ b/oem/ibm/configurations/fru/Tpm_VINI.json
@@ -0,0 +1,165 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Tpm"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "RT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B3",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B4",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B7",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 6,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CC",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 7,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 9,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "DR",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 10,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FG",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 12,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 13,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HW",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 14,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HX",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 15,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "PN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 16,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "SN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 17,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "TS",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 18,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "VZ",
+               "property_type" : "bytearray"
+            }
+      }
+
+    ]
+}
+
diff --git a/oem/ibm/configurations/fru/Vrm_LocationCode.json b/oem/ibm/configurations/fru/Vrm_LocationCode.json
new file mode 100644
index 0000000..4015ee6
--- /dev/null
+++ b/oem/ibm/configurations/fru/Vrm_LocationCode.json
@@ -0,0 +1,19 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Vrm"
+   },
+   "fru_fields":[
+     {
+         "fru_field_type" : 254,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.Location",
+               "property_name" : "LocationCode",
+               "property_type" : "string"
+            }
+      }
+    ]
+}
diff --git a/oem/ibm/configurations/fru/Vrm_VINI.json b/oem/ibm/configurations/fru/Vrm_VINI.json
new file mode 100644
index 0000000..3326911
--- /dev/null
+++ b/oem/ibm/configurations/fru/Vrm_VINI.json
@@ -0,0 +1,165 @@
+{
+   "record_details":
+   {
+        "fru_record_type" : 254,
+        "fru_encoding_type": 1,
+        "dbus_interface_name": "xyz.openbmc_project.Inventory.Item.Vrm"
+   },
+   "fru_fields":[
+      {
+         "fru_field_type" : 2,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "RT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 3,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B3",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 4,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B4",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 5,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "B7",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 6,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CC",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 7,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 8,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "CT",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 9,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "DR",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 10,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FG",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 11,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "FN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 12,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HE",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 13,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HW",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 14,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "HX",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 15,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "PN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 16,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "SN",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 17,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "TS",
+               "property_type" : "bytearray"
+            }
+      },
+      {
+         "fru_field_type" : 18,
+         "dbus":
+            {
+               "interface" : "com.ibm.ipzvpd.VINI",
+               "property_name" : "VZ",
+               "property_type" : "bytearray"
+            }
+      }
+
+    ]
+}
+