1description: > 2 This defines a PCIe function to be exposed for system management. It 3 includes the function properties that are shown in the space configuration. 4 5properties: 6 - name: BusNumber 7 type: byte 8 description: > 9 Indicates the Bus number in the BDF byte. 10 - name: DeviceNumber 11 type: byte 12 description: > 13 Indicates the Device number in the BDF byte. 14 - name: FunctionNumber 15 type: byte 16 description: > 17 Indicates the Function number in the BDF byte. 18 - name: DeviceId 19 type: uint16 20 description: > 21 The Device ID for this function. 22 - name: RevisionId 23 type: byte 24 description: > 25 The Revision ID for this function. 26 - name: SubsystemId 27 type: uint16 28 description: > 29 The Subsystem ID for this function. 30 - name: SubsystemVendorId 31 type: uint16 32 description: > 33 The Subsystem Vendor ID for this function. 34 - name: VendorId 35 type: uint16 36 description: > 37 The Vendor ID for this function. 38 - name: BaseClassCode 39 type: byte 40 description: > 41 The Base Class Code for this function. 42 - name: SubClassCode 43 type: byte 44 description: > 45 The SubClass for this function. 46 - name: ProgrammingInterface 47 type: byte 48 description: > 49 The PIFClass Code for this function. 50 - name: DeviceClass 51 type: enum[self.DeviceClasses] 52 default: Unknown 53 description: > 54 The class for this PCIe function. 55 - name: FunctionType 56 type: enum[self.FunctionTypes] 57 default: Unknown 58 description: > 59 Indicates if the function is Physical or Virtual 60 61enumerations: 62 - name: DeviceClasses 63 description: > 64 Possible Device Classes 65 values: 66 - name: Unknown 67 description: > 68 An unknown class 69 - name: Bridge 70 description: > 71 A bridge 72 - name: CommunicationController 73 description: > 74 A communication controller 75 - name: Coprocessor 76 description: > 77 A coprocessor 78 - name: DisplayController 79 description: > 80 A display controller 81 - name: DockingStation 82 description: > 83 A docking station 84 - name: EncryptionController 85 description: > 86 An encryption controller 87 - name: GenericSystemPeripheral 88 description: > 89 A generic system peripheral 90 - name: InputDeviceController 91 description: > 92 An input device controller 93 - name: IntelligentController 94 description: > 95 An intelligent controller 96 - name: MassStorageController 97 description: > 98 A mass storage controller 99 - name: MemoryController 100 description: > 101 A memory controller 102 - name: MultimediaController 103 description: > 104 A multimedia controller 105 - name: NetworkController 106 description: > 107 A network controller 108 - name: NonEssentialInstrumentation 109 description: > 110 A non-essential instrumentation 111 - name: Other 112 description: > 113 Other class. The function Class Code needs to be verified 114 - name: ProcessingAccelerators 115 description: > 116 A processing accelerators 117 - name: Processor 118 description: > 119 A processor 120 - name: SatelliteCommunicationsController 121 description: > 122 A satellite communications controller 123 - name: SerialBusController 124 description: > 125 A serial bus controller 126 - name: SignalProcessingController 127 description: > 128 A signal processing controller 129 - name: UnassignedClass 130 description: > 131 An unassigned class 132 - name: UnclassifiedDevice 133 description: > 134 An unclassified device 135 - name: WirelessController 136 description: > 137 A wireless controller 138 139 - name: FunctionTypes 140 description: > 141 Possible Function Type 142 values: 143 - name: Unknown 144 description: > 145 An unknown function type 146 - name: Physical 147 description: > 148 A physical PCIe function 149 - name: Virtual 150 description: > 151 A virtual PCIe function 152 153associations: 154 - name: exposed_by 155 description: > 156 Objects that implement PCIeFunction can implement the exposed_by 157 association to provide a link back to a PCIe Device. 158 reverse_names: 159 - exposing 160 required_endpoint_interfaces: 161 - xyz.openbmc_project.Inventory.Item.PCIeDevice 162 163 - name: producing 164 description: > 165 Objects that implement PCIeFunction can optionally implement the 166 producing association to provide a link back to an item. 167 reverse_names: 168 - produced_by 169 required_endpoint_interfaces: 170 - xyz.openbmc_project.Inventory.Item.NetworkInterface 171 - xyz.openbmc_project.Inventory.Item.Drive 172 - xyz.openbmc_project.Inventory.Item.StorageController 173