Add "GenerationInUse" and "GenerationSupported" to PCIeDevice interface

Add PCIeDevice properties "GenerationInUse" and "GenerationSupported"
then let managerment APIs like redfish can expose the information.

New property:
GenerationInUse    : The PCIe interface generation in use by the device
GenerationSupported: The maximum PCIe generation supported by the device

Dbus Sample output:
NAME                                TYPE      SIGNATURE RESULT/VALUE     FLAGS
[...]
xyz.openbmc_project.PCIe.Device     interface -         -                -
.DeviceType                         property  s         "SingleFunction" emits-change
.Function0ClassCode                 property  s         "0x060400"       emits-change
[...]
.GenerationInUse                    property  s         "xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations.Gen2"           emits-change

Signed-off-by: Spencer Ku <Spencer.Ku@quantatw.com>
Change-Id: Ie1bf12a703dc85c3670487b146fb62f0dbae9908
diff --git a/yaml/xyz/openbmc_project/Inventory/Item/PCIeDevice.interface.yaml b/yaml/xyz/openbmc_project/Inventory/Item/PCIeDevice.interface.yaml
index a8b1865..ab2b49a 100644
--- a/yaml/xyz/openbmc_project/Inventory/Item/PCIeDevice.interface.yaml
+++ b/yaml/xyz/openbmc_project/Inventory/Item/PCIeDevice.interface.yaml
@@ -8,6 +8,16 @@
       type: string
       description: >
           Indicates if the device is MultiFunction or SingleFunction.
+    - name: GenerationInUse
+      type: enum[xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations]
+      default: 'Unknown'
+      description: >
+          The PCIe interface generation in use by the device.
+    - name: GenerationSupported
+      type: enum[xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations]
+      default: 'Unknown'
+      description: >
+          The maximum PCIe generation supported by the device.
 
     - name: Function0ClassCode
       type: string