Add interface definition for Redfish PCIe support

This change adds the D-Bus interface definition for PCIe
devices in Redfish.  It includes definitions for the Redfish
PCIe fields for all 8 possible functions of each device.

Change-Id: I1036e02bf5ec1d2f2e5285395af30cf4f3def845
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
diff --git a/xyz/openbmc_project/Inventory/Item/PCIeDevice.interface.yaml b/xyz/openbmc_project/Inventory/Item/PCIeDevice.interface.yaml
new file mode 100644
index 0000000..a8b1865
--- /dev/null
+++ b/xyz/openbmc_project/Inventory/Item/PCIeDevice.interface.yaml
@@ -0,0 +1,279 @@
+description: >
+    This defines a PCIe device to be exposed for system management.  It
+    includes the device properties and function properties for all 8
+    possible functions that are needed for the device identification.
+
+properties:
+    - name: DeviceType
+      type: string
+      description: >
+          Indicates if the device is MultiFunction or SingleFunction.
+
+    - name: Function0ClassCode
+      type: string
+      description: >
+          The Class Code for this function.
+    - name: Function0DeviceClass
+      type: string
+      description: >
+          The Device Class for this function.
+    - name: Function0DeviceId
+      type: string
+      description: >
+          The Device ID for this function.
+    - name: Function0FunctionType
+      type: string
+      description: >
+          Indicates if the function is Physical or Virtual
+    - name: Function0RevisionId
+      type: string
+      description: >
+          The Revision ID for this function.
+    - name: Function0SubsystemId
+      type: string
+      description: >
+          The Subsystem ID for this function.
+    - name: Function0SubsystemVendorId
+      type: string
+      description: >
+          The Subsystem Vendor ID for this function.
+    - name: Function0VendorId
+      type: string
+      description: >
+          The Vendor ID for this function.
+
+    - name: Function1ClassCode
+      type: string
+      description: >
+          The Class Code for this function.
+    - name: Function1DeviceClass
+      type: string
+      description: >
+          The Device Class for this function.
+    - name: Function1DeviceId
+      type: string
+      description: >
+          The Device ID for this function.
+    - name: Function1FunctionType
+      type: string
+      description: >
+          Indicates if the function is Physical or Virtual
+    - name: Function1RevisionId
+      type: string
+      description: >
+          The Revision ID for this function.
+    - name: Function1SubsystemId
+      type: string
+      description: >
+          The Subsystem ID for this function.
+    - name: Function1SubsystemVendorId
+      type: string
+      description: >
+          The Subsystem Vendor ID for this function.
+    - name: Function1VendorId
+      type: string
+      description: >
+          The Vendor ID for this function.
+
+    - name: Function2ClassCode
+      type: string
+      description: >
+          The Class Code for this function.
+    - name: Function2DeviceClass
+      type: string
+      description: >
+          The Device Class for this function.
+    - name: Function2DeviceId
+      type: string
+      description: >
+          The Device ID for this function.
+    - name: Function2FunctionType
+      type: string
+      description: >
+          Indicates if the function is Physical or Virtual
+    - name: Function2RevisionId
+      type: string
+      description: >
+          The Revision ID for this function.
+    - name: Function2SubsystemId
+      type: string
+      description: >
+          The Subsystem ID for this function.
+    - name: Function2SubsystemVendorId
+      type: string
+      description: >
+          The Subsystem Vendor ID for this function.
+    - name: Function2VendorId
+      type: string
+      description: >
+          The Vendor ID for this function.
+
+    - name: Function3ClassCode
+      type: string
+      description: >
+          The Class Code for this function.
+    - name: Function3DeviceClass
+      type: string
+      description: >
+          The Device Class for this function.
+    - name: Function3DeviceId
+      type: string
+      description: >
+          The Device ID for this function.
+    - name: Function3FunctionType
+      type: string
+      description: >
+          Indicates if the function is Physical or Virtual
+    - name: Function3RevisionId
+      type: string
+      description: >
+          The Revision ID for this function.
+    - name: Function3SubsystemId
+      type: string
+      description: >
+          The Subsystem ID for this function.
+    - name: Function3SubsystemVendorId
+      type: string
+      description: >
+          The Subsystem Vendor ID for this function.
+    - name: Function3VendorId
+      type: string
+      description: >
+          The Vendor ID for this function.
+
+    - name: Function4ClassCode
+      type: string
+      description: >
+          The Class Code for this function.
+    - name: Function4DeviceClass
+      type: string
+      description: >
+          The Device Class for this function.
+    - name: Function4DeviceId
+      type: string
+      description: >
+          The Device ID for this function.
+    - name: Function4FunctionType
+      type: string
+      description: >
+          Indicates if the function is Physical or Virtual
+    - name: Function4RevisionId
+      type: string
+      description: >
+          The Revision ID for this function.
+    - name: Function4SubsystemId
+      type: string
+      description: >
+          The Subsystem ID for this function.
+    - name: Function4SubsystemVendorId
+      type: string
+      description: >
+          The Subsystem Vendor ID for this function.
+    - name: Function4VendorId
+      type: string
+      description: >
+          The Vendor ID for this function.
+
+    - name: Function5ClassCode
+      type: string
+      description: >
+          The Class Code for this function.
+    - name: Function5DeviceClass
+      type: string
+      description: >
+          The Device Class for this function.
+    - name: Function5DeviceId
+      type: string
+      description: >
+          The Device ID for this function.
+    - name: Function5FunctionType
+      type: string
+      description: >
+          Indicates if the function is Physical or Virtual
+    - name: Function5RevisionId
+      type: string
+      description: >
+          The Revision ID for this function.
+    - name: Function5SubsystemId
+      type: string
+      description: >
+          The Subsystem ID for this function.
+    - name: Function5SubsystemVendorId
+      type: string
+      description: >
+          The Subsystem Vendor ID for this function.
+    - name: Function5VendorId
+      type: string
+      description: >
+          The Vendor ID for this function.
+
+    - name: Function6ClassCode
+      type: string
+      description: >
+          The Class Code for this function.
+    - name: Function6DeviceClass
+      type: string
+      description: >
+          The Device Class for this function.
+    - name: Function6DeviceId
+      type: string
+      description: >
+          The Device ID for this function.
+    - name: Function6FunctionType
+      type: string
+      description: >
+          Indicates if the function is Physical or Virtual
+    - name: Function6RevisionId
+      type: string
+      description: >
+          The Revision ID for this function.
+    - name: Function6SubsystemId
+      type: string
+      description: >
+          The Subsystem ID for this function.
+    - name: Function6SubsystemVendorId
+      type: string
+      description: >
+          The Subsystem Vendor ID for this function.
+    - name: Function6VendorId
+      type: string
+      description: >
+          The Vendor ID for this function.
+
+    - name: Function7ClassCode
+      type: string
+      description: >
+          The Class Code for this function.
+    - name: Function7DeviceClass
+      type: string
+      description: >
+          The Device Class for this function.
+    - name: Function7DeviceId
+      type: string
+      description: >
+          The Device ID for this function.
+    - name: Function7FunctionType
+      type: string
+      description: >
+          Indicates if the function is Physical or Virtual
+    - name: Function7RevisionId
+      type: string
+      description: >
+          The Revision ID for this function.
+    - name: Function7SubsystemId
+      type: string
+      description: >
+          The Subsystem ID for this function.
+    - name: Function7SubsystemVendorId
+      type: string
+      description: >
+          The Subsystem Vendor ID for this function.
+    - name: Function7VendorId
+      type: string
+      description: >
+          The Vendor ID for this function.
+
+    - name: Manufacturer
+      type: string
+      description: >
+          The name of the Manufacturer for this device.