Miscellaneous updates to inventory interfaces

- Placed interfaces corresponding to physical items under
  Inventory/Item/ and interfaces which serve as item decorators under
  Inventory/Decorator/.
- Add some new dbus interfaces.
- Restructured Board item related interfaces such that there's a parent
  Board interface, and derivatives such as Motherboard, IO board, etc.
- Added new properties to existing interfaces.

Change-Id: I52b7c1a789df6745d1786d927fab06db40524448
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
diff --git a/xyz/openbmc_project/Inventory/Decorator/Asset.interface.yaml b/xyz/openbmc_project/Inventory/Decorator/Asset.interface.yaml
new file mode 100644
index 0000000..d105dd3
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Decorator/Asset.interface.yaml
@@ -0,0 +1,26 @@
+description: >
+    Implement to provide item physical asset attributes.
+properties:
+    - name: PartNumber
+      type: string
+      description: >
+          The item part number, typically a stocking number.
+    - name: SerialNumber
+      type: string
+      description: >
+          The item serial number.
+    - name: Manufacturer
+      type: string
+      description: >
+          The item manufacturer.
+    - name: BuildDate
+      type: string
+      description: >
+          The date of item manufacture in
+          YYYYMMDD format.
+    - name: Model
+      type: string
+      description: >
+          The model of the item.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/Inventory/Item/Cacheable.interface.yaml b/xyz/openbmc_project/Inventory/Decorator/Cacheable.interface.yaml
similarity index 93%
rename from xyz/openbmc_project/Inventory/Item/Cacheable.interface.yaml
rename to xyz/openbmc_project/Inventory/Decorator/Cacheable.interface.yaml
index 210c132..2809de0 100644
--- a/xyz/openbmc_project/Inventory/Item/Cacheable.interface.yaml
+++ b/xyz/openbmc_project/Inventory/Decorator/Cacheable.interface.yaml
@@ -2,7 +2,7 @@
     Implement to indicate item availability changes.
 properties:
     - name: Cached
-      type: b
+      type: boolean
       description: >
           Whether or not the item is cached.  When true, the item
           and its remaining attributes are undefined.
diff --git a/xyz/openbmc_project/Inventory/Item/Replaceable.interface.yaml b/xyz/openbmc_project/Inventory/Decorator/Replaceable.interface.yaml
similarity index 92%
rename from xyz/openbmc_project/Inventory/Item/Replaceable.interface.yaml
rename to xyz/openbmc_project/Inventory/Decorator/Replaceable.interface.yaml
index 7d461f0..0ba757b 100644
--- a/xyz/openbmc_project/Inventory/Item/Replaceable.interface.yaml
+++ b/xyz/openbmc_project/Inventory/Decorator/Replaceable.interface.yaml
@@ -2,7 +2,7 @@
     Implement to provide item replacement attributes.
 properties:
     - name: FieldReplaceable
-      type: b
+      type: boolean
       description: >
           Whether or not the item is field replaceable.
 
diff --git a/xyz/openbmc_project/Inventory/Item/Revision.interface.yaml b/xyz/openbmc_project/Inventory/Decorator/Revision.interface.yaml
similarity index 91%
rename from xyz/openbmc_project/Inventory/Item/Revision.interface.yaml
rename to xyz/openbmc_project/Inventory/Decorator/Revision.interface.yaml
index 18a7637..7611671 100644
--- a/xyz/openbmc_project/Inventory/Item/Revision.interface.yaml
+++ b/xyz/openbmc_project/Inventory/Decorator/Revision.interface.yaml
@@ -2,7 +2,7 @@
     Implement to provide item versioning attributes.
 properties:
     - name: Version
-      type: s
+      type: string
       description: >
           The item version.
 
diff --git a/xyz/openbmc_project/Inventory/Decorator/VendorInformation.interface.yaml b/xyz/openbmc_project/Inventory/Decorator/VendorInformation.interface.yaml
new file mode 100644
index 0000000..6b6a131
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Decorator/VendorInformation.interface.yaml
@@ -0,0 +1,5 @@
+description: >
+    Implement to provide custom properties added to an item by the
+    item vendor.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/Inventory/Decorator/VoltageControl.interface.yaml b/xyz/openbmc_project/Inventory/Decorator/VoltageControl.interface.yaml
new file mode 100644
index 0000000..aefa894
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Decorator/VoltageControl.interface.yaml
@@ -0,0 +1,4 @@
+description: >
+    Implement to enable voltage configuration for the item.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/Inventory/Item.interface.yaml b/xyz/openbmc_project/Inventory/Item.interface.yaml
index dfae631..82e4c75 100644
--- a/xyz/openbmc_project/Inventory/Item.interface.yaml
+++ b/xyz/openbmc_project/Inventory/Item.interface.yaml
@@ -3,11 +3,11 @@
     within the inventory namespace.
 properties:
     - name: PrettyName
-      type: s
+      type: string
       description: >
           The human readable name of the item.
     - name: Present
-      type: b
+      type: boolean
       description: >
           Whether or not the item is present.
 
diff --git a/xyz/openbmc_project/Inventory/Item/Asset.interface.yaml b/xyz/openbmc_project/Inventory/Item/Asset.interface.yaml
deleted file mode 100644
index 96f1837..0000000
--- a/xyz/openbmc_project/Inventory/Item/Asset.interface.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-description: >
-    Implement to provide item physical asset attributes.
-properties:
-    - name: PartNumber
-      type: s
-      description: >
-          The item part number.
-    - name: SerialNumber
-      type: s
-      description: >
-          The item serial number.
-    - name: Manufacturer
-      type: s
-      description: >
-          The item manufacturer.
-
-# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/Inventory/Item/Bmc.interface.yaml b/xyz/openbmc_project/Inventory/Item/Bmc.interface.yaml
new file mode 100644
index 0000000..1afadff
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Item/Bmc.interface.yaml
@@ -0,0 +1,4 @@
+description: >
+    Implement to provide BMC attributes.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/Inventory/Item/Board.interface.yaml b/xyz/openbmc_project/Inventory/Item/Board.interface.yaml
new file mode 100644
index 0000000..5b06ff7
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Item/Board.interface.yaml
@@ -0,0 +1,4 @@
+description: >
+    Implement to provide board attributes.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/Inventory/Item/Board/IOBoard.interface.yaml b/xyz/openbmc_project/Inventory/Item/Board/IOBoard.interface.yaml
new file mode 100644
index 0000000..ade9677
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Item/Board/IOBoard.interface.yaml
@@ -0,0 +1,4 @@
+description: >
+    Implement to provide IO board attributes.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/Inventory/Item/Board/Motherboard.interface.yaml b/xyz/openbmc_project/Inventory/Item/Board/Motherboard.interface.yaml
new file mode 100644
index 0000000..fb3b048
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Item/Board/Motherboard.interface.yaml
@@ -0,0 +1,4 @@
+description: >
+    Implement to provide motherboard attributes.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/Inventory/Item/MemoryBuffer.interface.yaml b/xyz/openbmc_project/Inventory/Item/MemoryBuffer.interface.yaml
new file mode 100644
index 0000000..49ea6c7
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Item/MemoryBuffer.interface.yaml
@@ -0,0 +1,4 @@
+description: >
+    Implement to provide memory buffer attributes.
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/xyz/openbmc_project/Inventory/Item/NetworkInterface.interface.yaml b/xyz/openbmc_project/Inventory/Item/NetworkInterface.interface.yaml
new file mode 100644
index 0000000..5e4fe6b
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Item/NetworkInterface.interface.yaml
@@ -0,0 +1,9 @@
+description: >
+    Implement to provide network interface attributes.
+properties:
+    - name: MACAddress
+      type: string
+      description: >
+          MAC address of the item
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4