1description: > 2 This defines a PCIe device to be exposed for system management. It includes 3 the device properties and function properties for all 8 possible functions 4 that are needed for the device identification. 5 6properties: 7 - name: DeviceType 8 type: enum[self.DeviceTypes] 9 default: "Unknown" 10 description: > 11 Indicates if the device type is MultiFunction/Retimer/Simulated or 12 SingleFunction. 13 - name: GenerationInUse 14 type: enum[xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations] 15 default: "Unknown" 16 description: > 17 The PCIe interface generation in use by the device. 18 - name: GenerationSupported 19 type: enum[xyz.openbmc_project.Inventory.Item.PCIeSlot.Generations] 20 default: "Unknown" 21 description: > 22 The maximum PCIe generation supported by the device. 23 24 - name: Function0ClassCode 25 type: string 26 description: > 27 The Class Code for this function. 28 - name: Function0DeviceClass 29 type: string 30 description: > 31 The Device Class for this function. 32 - name: Function0DeviceId 33 type: string 34 description: > 35 The Device ID for this function. 36 - name: Function0FunctionType 37 type: string 38 description: > 39 Indicates if the function is Physical or Virtual 40 - name: Function0RevisionId 41 type: string 42 description: > 43 The Revision ID for this function. 44 - name: Function0SubsystemId 45 type: string 46 description: > 47 The Subsystem ID for this function. 48 - name: Function0SubsystemVendorId 49 type: string 50 description: > 51 The Subsystem Vendor ID for this function. 52 - name: Function0VendorId 53 type: string 54 description: > 55 The Vendor ID for this function. 56 57 - name: Function1ClassCode 58 type: string 59 description: > 60 The Class Code for this function. 61 - name: Function1DeviceClass 62 type: string 63 description: > 64 The Device Class for this function. 65 - name: Function1DeviceId 66 type: string 67 description: > 68 The Device ID for this function. 69 - name: Function1FunctionType 70 type: string 71 description: > 72 Indicates if the function is Physical or Virtual 73 - name: Function1RevisionId 74 type: string 75 description: > 76 The Revision ID for this function. 77 - name: Function1SubsystemId 78 type: string 79 description: > 80 The Subsystem ID for this function. 81 - name: Function1SubsystemVendorId 82 type: string 83 description: > 84 The Subsystem Vendor ID for this function. 85 - name: Function1VendorId 86 type: string 87 description: > 88 The Vendor ID for this function. 89 90 - name: Function2ClassCode 91 type: string 92 description: > 93 The Class Code for this function. 94 - name: Function2DeviceClass 95 type: string 96 description: > 97 The Device Class for this function. 98 - name: Function2DeviceId 99 type: string 100 description: > 101 The Device ID for this function. 102 - name: Function2FunctionType 103 type: string 104 description: > 105 Indicates if the function is Physical or Virtual 106 - name: Function2RevisionId 107 type: string 108 description: > 109 The Revision ID for this function. 110 - name: Function2SubsystemId 111 type: string 112 description: > 113 The Subsystem ID for this function. 114 - name: Function2SubsystemVendorId 115 type: string 116 description: > 117 The Subsystem Vendor ID for this function. 118 - name: Function2VendorId 119 type: string 120 description: > 121 The Vendor ID for this function. 122 123 - name: Function3ClassCode 124 type: string 125 description: > 126 The Class Code for this function. 127 - name: Function3DeviceClass 128 type: string 129 description: > 130 The Device Class for this function. 131 - name: Function3DeviceId 132 type: string 133 description: > 134 The Device ID for this function. 135 - name: Function3FunctionType 136 type: string 137 description: > 138 Indicates if the function is Physical or Virtual 139 - name: Function3RevisionId 140 type: string 141 description: > 142 The Revision ID for this function. 143 - name: Function3SubsystemId 144 type: string 145 description: > 146 The Subsystem ID for this function. 147 - name: Function3SubsystemVendorId 148 type: string 149 description: > 150 The Subsystem Vendor ID for this function. 151 - name: Function3VendorId 152 type: string 153 description: > 154 The Vendor ID for this function. 155 156 - name: Function4ClassCode 157 type: string 158 description: > 159 The Class Code for this function. 160 - name: Function4DeviceClass 161 type: string 162 description: > 163 The Device Class for this function. 164 - name: Function4DeviceId 165 type: string 166 description: > 167 The Device ID for this function. 168 - name: Function4FunctionType 169 type: string 170 description: > 171 Indicates if the function is Physical or Virtual 172 - name: Function4RevisionId 173 type: string 174 description: > 175 The Revision ID for this function. 176 - name: Function4SubsystemId 177 type: string 178 description: > 179 The Subsystem ID for this function. 180 - name: Function4SubsystemVendorId 181 type: string 182 description: > 183 The Subsystem Vendor ID for this function. 184 - name: Function4VendorId 185 type: string 186 description: > 187 The Vendor ID for this function. 188 189 - name: Function5ClassCode 190 type: string 191 description: > 192 The Class Code for this function. 193 - name: Function5DeviceClass 194 type: string 195 description: > 196 The Device Class for this function. 197 - name: Function5DeviceId 198 type: string 199 description: > 200 The Device ID for this function. 201 - name: Function5FunctionType 202 type: string 203 description: > 204 Indicates if the function is Physical or Virtual 205 - name: Function5RevisionId 206 type: string 207 description: > 208 The Revision ID for this function. 209 - name: Function5SubsystemId 210 type: string 211 description: > 212 The Subsystem ID for this function. 213 - name: Function5SubsystemVendorId 214 type: string 215 description: > 216 The Subsystem Vendor ID for this function. 217 - name: Function5VendorId 218 type: string 219 description: > 220 The Vendor ID for this function. 221 222 - name: Function6ClassCode 223 type: string 224 description: > 225 The Class Code for this function. 226 - name: Function6DeviceClass 227 type: string 228 description: > 229 The Device Class for this function. 230 - name: Function6DeviceId 231 type: string 232 description: > 233 The Device ID for this function. 234 - name: Function6FunctionType 235 type: string 236 description: > 237 Indicates if the function is Physical or Virtual 238 - name: Function6RevisionId 239 type: string 240 description: > 241 The Revision ID for this function. 242 - name: Function6SubsystemId 243 type: string 244 description: > 245 The Subsystem ID for this function. 246 - name: Function6SubsystemVendorId 247 type: string 248 description: > 249 The Subsystem Vendor ID for this function. 250 - name: Function6VendorId 251 type: string 252 description: > 253 The Vendor ID for this function. 254 255 - name: Function7ClassCode 256 type: string 257 description: > 258 The Class Code for this function. 259 - name: Function7DeviceClass 260 type: string 261 description: > 262 The Device Class for this function. 263 - name: Function7DeviceId 264 type: string 265 description: > 266 The Device ID for this function. 267 - name: Function7FunctionType 268 type: string 269 description: > 270 Indicates if the function is Physical or Virtual 271 - name: Function7RevisionId 272 type: string 273 description: > 274 The Revision ID for this function. 275 - name: Function7SubsystemId 276 type: string 277 description: > 278 The Subsystem ID for this function. 279 - name: Function7SubsystemVendorId 280 type: string 281 description: > 282 The Subsystem Vendor ID for this function. 283 - name: Function7VendorId 284 type: string 285 description: > 286 The Vendor ID for this function. 287 288 - name: MaxLanes 289 type: size 290 default: 0 291 description: > 292 The maximum number of PCIe lanes supported by the PCIe Device 293 294 - name: LanesInUse 295 type: size 296 default: maxint 297 description: > 298 The number of PCIe lanes in use by this device. Default value of 299 maxint is to accommodate the situation where the value of this 300 property is not known due to some unknown reason, like hardware 301 failure. The value of 0 indicates that the link is not active. 302 303enumerations: 304 - name: DeviceTypes 305 description: > 306 Possible Device Type 307 values: 308 - name: MultiFunction 309 description: > 310 Indicates if the device is MultiFunction 311 - name: Retimer 312 description: > 313 Indicate if the device is Retimer 314 - name: Simulated 315 description: > 316 Indicates if the device is Simulated 317 - name: SingleFunction 318 description: > 319 Indicates if the device is Single Function 320 - name: Unknown 321 description: > 322 Indicates if the device is Unknown 323 324associations: 325 - name: upstream_pcie_slot 326 description: > 327 Objects that implement PCIeDevice can optionally implement the 328 upstream_pcie_slot association to provide a link back to a PCIe slot. 329 reverse_names: 330 - associated_pcie_device 331 required_endpoint_interfaces: 332 - xyz.openbmc_project.Inventory.Item.PCIeSlot 333