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"
+            }
+      }
+    ]
+}
+