| 1 | /* |
| 2 | * PCI Class, Vendor and Device IDs |
| 3 | * |
| 4 | * Please keep sorted. |
| 5 | * |
| 6 | * Abbreviated version of linux/pci_ids.h |
| 7 | * |
| 8 | * QEMU-specific definitions belong in pci.h |
| 9 | */ |
| 10 | |
| 11 | #ifndef HW_PCI_IDS_H |
| 12 | #define HW_PCI_IDS_H |
| 13 | |
| 14 | /* Device classes and subclasses */ |
| 15 | |
| 16 | #define PCI_CLASS_NOT_DEFINED 0x0000 |
| 17 | #define PCI_CLASS_NOT_DEFINED_VGA 0x0001 |
| 18 | |
| 19 | #define PCI_BASE_CLASS_STORAGE 0x01 |
| 20 | #define PCI_CLASS_STORAGE_SCSI 0x0100 |
| 21 | #define PCI_CLASS_STORAGE_IDE 0x0101 |
| 22 | #define PCI_CLASS_STORAGE_FLOPPY 0x0102 |
| 23 | #define PCI_CLASS_STORAGE_IPI 0x0103 |
| 24 | #define PCI_CLASS_STORAGE_RAID 0x0104 |
| 25 | #define PCI_CLASS_STORAGE_ATA 0x0105 |
| 26 | #define PCI_CLASS_STORAGE_SATA 0x0106 |
| 27 | #define PCI_CLASS_STORAGE_SAS 0x0107 |
| 28 | #define PCI_CLASS_STORAGE_EXPRESS 0x0108 |
| 29 | #define PCI_CLASS_STORAGE_UFS 0x0109 |
| 30 | #define PCI_CLASS_STORAGE_OTHER 0x0180 |
| 31 | |
| 32 | #define PCI_BASE_CLASS_NETWORK 0x02 |
| 33 | #define PCI_CLASS_NETWORK_ETHERNET 0x0200 |
| 34 | #define PCI_CLASS_NETWORK_TOKEN_RING 0x0201 |
| 35 | #define PCI_CLASS_NETWORK_FDDI 0x0202 |
| 36 | #define PCI_CLASS_NETWORK_ATM 0x0203 |
| 37 | #define PCI_CLASS_NETWORK_ISDN 0x0204 |
| 38 | #define PCI_CLASS_NETWORK_WORLDFIP 0x0205 |
| 39 | #define PCI_CLASS_NETWORK_PICMG214 0x0206 |
| 40 | #define PCI_CLASS_NETWORK_OTHER 0x0280 |
| 41 | |
| 42 | #define PCI_BASE_CLASS_DISPLAY 0x03 |
| 43 | #define PCI_CLASS_DISPLAY_VGA 0x0300 |
| 44 | #define PCI_CLASS_DISPLAY_XGA 0x0301 |
| 45 | #define PCI_CLASS_DISPLAY_3D 0x0302 |
| 46 | #define PCI_CLASS_DISPLAY_OTHER 0x0380 |
| 47 | |
| 48 | #define PCI_BASE_CLASS_MULTIMEDIA 0x04 |
| 49 | #define PCI_CLASS_MULTIMEDIA_VIDEO 0x0400 |
| 50 | #define PCI_CLASS_MULTIMEDIA_AUDIO 0x0401 |
| 51 | #define PCI_CLASS_MULTIMEDIA_PHONE 0x0402 |
| 52 | #define PCI_CLASS_MULTIMEDIA_OTHER 0x0480 |
| 53 | |
| 54 | #define PCI_BASE_CLASS_MEMORY 0x05 |
| 55 | #define PCI_CLASS_MEMORY_RAM 0x0500 |
| 56 | #define PCI_CLASS_MEMORY_FLASH 0x0501 |
| 57 | #define PCI_CLASS_MEMORY_CXL 0x0502 |
| 58 | #define PCI_CLASS_MEMORY_OTHER 0x0580 |
| 59 | |
| 60 | #define PCI_BASE_CLASS_BRIDGE 0x06 |
| 61 | #define PCI_CLASS_BRIDGE_HOST 0x0600 |
| 62 | #define PCI_CLASS_BRIDGE_ISA 0x0601 |
| 63 | #define PCI_CLASS_BRIDGE_EISA 0x0602 |
| 64 | #define PCI_CLASS_BRIDGE_MC 0x0603 |
| 65 | #define PCI_CLASS_BRIDGE_PCI 0x0604 |
| 66 | #define PCI_CLASS_BRIDGE_PCI_INF_SUB 0x01 |
| 67 | #define PCI_CLASS_BRIDGE_PCMCIA 0x0605 |
| 68 | #define PCI_CLASS_BRIDGE_NUBUS 0x0606 |
| 69 | #define PCI_CLASS_BRIDGE_CARDBUS 0x0607 |
| 70 | #define PCI_CLASS_BRIDGE_RACEWAY 0x0608 |
| 71 | #define PCI_CLASS_BRIDGE_PCI_SEMITP 0x0609 |
| 72 | #define PCI_CLASS_BRIDGE_IB_PCI 0x060a |
| 73 | #define PCI_CLASS_BRIDGE_OTHER 0x0680 |
| 74 | |
| 75 | #define PCI_BASE_CLASS_COMMUNICATION 0x07 |
| 76 | #define PCI_CLASS_COMMUNICATION_SERIAL 0x0700 |
| 77 | #define PCI_CLASS_COMMUNICATION_PARALLEL 0x0701 |
| 78 | #define PCI_CLASS_COMMUNICATION_MULTISERIAL 0x0702 |
| 79 | #define PCI_CLASS_COMMUNICATION_MODEM 0x0703 |
| 80 | #define PCI_CLASS_COMMUNICATION_GPIB 0x0704 |
| 81 | #define PCI_CLASS_COMMUNICATION_SC 0x0705 |
| 82 | #define PCI_CLASS_COMMUNICATION_OTHER 0x0780 |
| 83 | |
| 84 | #define PCI_BASE_CLASS_SYSTEM 0x08 |
| 85 | #define PCI_CLASS_SYSTEM_PIC 0x0800 |
| 86 | #define PCI_CLASS_SYSTEM_PIC_IOAPIC 0x080010 |
| 87 | #define PCI_CLASS_SYSTEM_PIC_IOXAPIC 0x080020 |
| 88 | #define PCI_CLASS_SYSTEM_DMA 0x0801 |
| 89 | #define PCI_CLASS_SYSTEM_TIMER 0x0802 |
| 90 | #define PCI_CLASS_SYSTEM_RTC 0x0803 |
| 91 | #define PCI_CLASS_SYSTEM_PCI_HOTPLUG 0x0804 |
| 92 | #define PCI_CLASS_SYSTEM_SDHCI 0x0805 |
| 93 | #define PCI_CLASS_SYSTEM_OTHER 0x0880 |
| 94 | |
| 95 | #define PCI_BASE_CLASS_INPUT 0x09 |
| 96 | #define PCI_CLASS_INPUT_KEYBOARD 0x0900 |
| 97 | #define PCI_CLASS_INPUT_PEN 0x0901 |
| 98 | #define PCI_CLASS_INPUT_MOUSE 0x0902 |
| 99 | #define PCI_CLASS_INPUT_SCANNER 0x0903 |
| 100 | #define PCI_CLASS_INPUT_GAMEPORT 0x0904 |
| 101 | #define PCI_CLASS_INPUT_OTHER 0x0980 |
| 102 | |
| 103 | #define PCI_BASE_CLASS_DOCKING 0x0a |
| 104 | #define PCI_CLASS_DOCKING_GENERIC 0x0a00 |
| 105 | #define PCI_CLASS_DOCKING_OTHER 0x0a80 |
| 106 | |
| 107 | #define PCI_BASE_CLASS_PROCESSOR 0x0b |
| 108 | #define PCI_CLASS_PROCESSOR_PENTIUM 0x0b02 |
| 109 | #define PCI_CLASS_PROCESSOR_POWERPC 0x0b20 |
| 110 | #define PCI_CLASS_PROCESSOR_MIPS 0x0b30 |
| 111 | #define PCI_CLASS_PROCESSOR_CO 0x0b40 |
| 112 | |
| 113 | #define PCI_BASE_CLASS_SERIAL 0x0c |
| 114 | #define PCI_CLASS_SERIAL_FIREWIRE 0x0c00 |
| 115 | #define PCI_CLASS_SERIAL_ACCESS 0x0c01 |
| 116 | #define PCI_CLASS_SERIAL_SSA 0x0c02 |
| 117 | #define PCI_CLASS_SERIAL_USB 0x0c03 |
| 118 | #define PCI_CLASS_SERIAL_USB_UHCI 0x0c0300 |
| 119 | #define PCI_CLASS_SERIAL_USB_OHCI 0x0c0310 |
| 120 | #define PCI_CLASS_SERIAL_USB_EHCI 0x0c0320 |
| 121 | #define PCI_CLASS_SERIAL_USB_XHCI 0x0c0330 |
| 122 | #define PCI_CLASS_SERIAL_USB_UNKNOWN 0x0c0380 |
| 123 | #define PCI_CLASS_SERIAL_USB_DEVICE 0x0c03fe |
| 124 | #define PCI_CLASS_SERIAL_FIBER 0x0c04 |
| 125 | #define PCI_CLASS_SERIAL_SMBUS 0x0c05 |
| 126 | #define PCI_CLASS_SERIAL_IB 0x0c06 |
| 127 | #define PCI_CLASS_SERIAL_IPMI 0x0c07 |
| 128 | #define PCI_CLASS_SERIAL_SERCOS 0x0c08 |
| 129 | #define PCI_CLASS_SERIAL_CANBUS 0x0c09 |
| 130 | |
| 131 | #define PCI_BASE_CLASS_WIRELESS 0x0d |
| 132 | #define PCI_CLASS_WIRELESS_IRDA 0x0d00 |
| 133 | #define PCI_CLASS_WIRELESS_CIR 0x0d01 |
| 134 | #define PCI_CLASS_WIRELESS_RF_CONTROLLER 0x0d10 |
| 135 | #define PCI_CLASS_WIRELESS_BLUETOOTH 0x0d11 |
| 136 | #define PCI_CLASS_WIRELESS_BROADBAND 0x0d12 |
| 137 | #define PCI_CLASS_WIRELESS_OTHER 0x0d80 |
| 138 | |
| 139 | #define PCI_BASE_CLASS_SATELLITE 0x0f |
| 140 | #define PCI_CLASS_SATELLITE_TV 0x0f00 |
| 141 | #define PCI_CLASS_SATELLITE_AUDIO 0x0f01 |
| 142 | #define PCI_CLASS_SATELLITE_VOICE 0x0f03 |
| 143 | #define PCI_CLASS_SATELLITE_DATA 0x0f04 |
| 144 | |
| 145 | #define PCI_BASE_CLASS_CRYPT 0x10 |
| 146 | #define PCI_CLASS_CRYPT_NETWORK 0x1000 |
| 147 | #define PCI_CLASS_CRYPT_ENTERTAINMENT 0x1001 |
| 148 | #define PCI_CLASS_CRYPT_OTHER 0x1080 |
| 149 | |
| 150 | #define PCI_BASE_CLASS_SIGNAL_PROCESSING 0x11 |
| 151 | #define PCI_CLASS_SP_DPIO 0x1100 |
| 152 | #define PCI_CLASS_SP_PERF 0x1101 |
| 153 | #define PCI_CLASS_SP_SYNCH 0x1110 |
| 154 | #define PCI_CLASS_SP_MANAGEMENT 0x1120 |
| 155 | #define PCI_CLASS_SP_OTHER 0x1180 |
| 156 | |
| 157 | #define PCI_CLASS_OTHERS 0xff |
| 158 | |
| 159 | /* Vendors and devices. Sort key: vendor first, device next. */ |
| 160 | |
| 161 | /* Ref: PCIe r6.0 Table 6-32 */ |
| 162 | #define PCI_VENDOR_ID_PCI_SIG 0x0001 |
| 163 | |
| 164 | #define PCI_VENDOR_ID_LSI_LOGIC 0x1000 |
| 165 | #define PCI_DEVICE_ID_LSI_53C810 0x0001 |
| 166 | #define PCI_DEVICE_ID_LSI_53C895A 0x0012 |
| 167 | #define PCI_DEVICE_ID_LSI_SAS1068 0x0054 |
| 168 | #define PCI_DEVICE_ID_LSI_SAS1078 0x0060 |
| 169 | #define PCI_DEVICE_ID_LSI_SAS0079 0x0079 |
| 170 | |
| 171 | #define PCI_VENDOR_ID_DEC 0x1011 |
| 172 | #define PCI_DEVICE_ID_DEC_21143 0x0019 |
| 173 | |
| 174 | #define PCI_VENDOR_ID_CIRRUS 0x1013 |
| 175 | |
| 176 | #define PCI_VENDOR_ID_IBM 0x1014 |
| 177 | |
| 178 | #define PCI_VENDOR_ID_AMD 0x1022 |
| 179 | #define PCI_DEVICE_ID_AMD_LANCE 0x2000 |
| 180 | #define PCI_DEVICE_ID_AMD_SCSI 0x2020 |
| 181 | |
| 182 | #define PCI_VENDOR_ID_HP 0x103c |
| 183 | |
| 184 | #define PCI_VENDOR_ID_TI 0x104c |
| 185 | |
| 186 | #define PCI_VENDOR_ID_MOTOROLA 0x1057 |
| 187 | #define PCI_DEVICE_ID_MOTOROLA_MPC106 0x0002 |
| 188 | #define PCI_DEVICE_ID_MOTOROLA_RAVEN 0x4801 |
| 189 | |
| 190 | #define PCI_VENDOR_ID_APPLE 0x106b |
| 191 | #define PCI_DEVICE_ID_APPLE_UNI_N_AGP 0x0020 |
| 192 | #define PCI_DEVICE_ID_APPLE_U3_AGP 0x004b |
| 193 | #define PCI_DEVICE_ID_APPLE_UNI_N_GMAC 0x0021 |
| 194 | #define PCI_DEVICE_ID_APPLE_VIRTIO_BLK 0x1a00 |
| 195 | |
| 196 | #define PCI_VENDOR_ID_SUN 0x108e |
| 197 | #define PCI_DEVICE_ID_SUN_EBUS 0x1000 |
| 198 | #define PCI_DEVICE_ID_SUN_HME 0x1001 |
| 199 | #define PCI_DEVICE_ID_SUN_SIMBA 0x5000 |
| 200 | #define PCI_DEVICE_ID_SUN_SABRE 0xa000 |
| 201 | |
| 202 | #define PCI_VENDOR_ID_ORACLE 0x108e |
| 203 | #define PCI_DEVICE_ID_REMOTE_IOHUB 0xb000 |
| 204 | |
| 205 | #define PCI_VENDOR_ID_CMD 0x1095 |
| 206 | #define PCI_DEVICE_ID_CMD_646 0x0646 |
| 207 | |
| 208 | #define PCI_VENDOR_ID_REALTEK 0x10ec |
| 209 | #define PCI_DEVICE_ID_REALTEK_8139 0x8139 |
| 210 | |
| 211 | #define PCI_VENDOR_ID_XILINX 0x10ee |
| 212 | |
| 213 | #define PCI_VENDOR_ID_VIA 0x1106 |
| 214 | #define PCI_DEVICE_ID_VIA_82C686B_ISA 0x0686 |
| 215 | #define PCI_DEVICE_ID_VIA_IDE 0x0571 |
| 216 | #define PCI_DEVICE_ID_VIA_UHCI 0x3038 |
| 217 | #define PCI_DEVICE_ID_VIA_82C686B_PM 0x3057 |
| 218 | #define PCI_DEVICE_ID_VIA_AC97 0x3058 |
| 219 | #define PCI_DEVICE_ID_VIA_MC97 0x3068 |
| 220 | #define PCI_DEVICE_ID_VIA_8231_ISA 0x8231 |
| 221 | #define PCI_DEVICE_ID_VIA_8231_PM 0x8235 |
| 222 | |
| 223 | #define PCI_VENDOR_ID_MARVELL 0x11ab |
| 224 | #define PCI_DEVICE_ID_MARVELL_MV6436X 0x6460 |
| 225 | |
| 226 | #define PCI_VENDOR_ID_SILICON_MOTION 0x126f |
| 227 | #define PCI_DEVICE_ID_SM501 0x0501 |
| 228 | |
| 229 | #define PCI_VENDOR_ID_ENSONIQ 0x1274 |
| 230 | #define PCI_DEVICE_ID_ENSONIQ_ES1370 0x5000 |
| 231 | |
| 232 | #define PCI_VENDOR_ID_CHELSIO 0x1425 |
| 233 | |
| 234 | #define PCI_VENDOR_ID_FREESCALE 0x1957 |
| 235 | #define PCI_DEVICE_ID_MPC8533E 0x0030 |
| 236 | |
| 237 | #define PCI_VENDOR_ID_BAIDU 0x1d22 |
| 238 | #define PCI_DEVICE_ID_KUNLUN_VF 0x3685 |
| 239 | |
| 240 | #define PCI_VENDOR_ID_INTEL 0x8086 |
| 241 | #define PCI_DEVICE_ID_INTEL_82378 0x0484 |
| 242 | #define PCI_DEVICE_ID_INTEL_82441 0x1237 |
| 243 | #define PCI_DEVICE_ID_INTEL_82801AA_5 0x2415 |
| 244 | #define PCI_DEVICE_ID_INTEL_82801BA_11 0x244e |
| 245 | #define PCI_DEVICE_ID_INTEL_82801D 0x24CD |
| 246 | #define PCI_DEVICE_ID_INTEL_ESB_9 0x25ab |
| 247 | #define PCI_DEVICE_ID_INTEL_NVME 0x5845 |
| 248 | #define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000 |
| 249 | #define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010 |
| 250 | #define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020 |
| 251 | #define PCI_DEVICE_ID_INTEL_82371AB_0 0x7110 |
| 252 | #define PCI_DEVICE_ID_INTEL_82371AB 0x7111 |
| 253 | #define PCI_DEVICE_ID_INTEL_82371AB_2 0x7112 |
| 254 | #define PCI_DEVICE_ID_INTEL_82371AB_3 0x7113 |
| 255 | |
| 256 | #define PCI_DEVICE_ID_INTEL_ICH9_0 0x2910 |
| 257 | #define PCI_DEVICE_ID_INTEL_ICH9_1 0x2917 |
| 258 | #define PCI_DEVICE_ID_INTEL_ICH9_2 0x2912 |
| 259 | #define PCI_DEVICE_ID_INTEL_ICH9_3 0x2913 |
| 260 | #define PCI_DEVICE_ID_INTEL_ICH9_4 0x2914 |
| 261 | #define PCI_DEVICE_ID_INTEL_ICH9_5 0x2919 |
| 262 | #define PCI_DEVICE_ID_INTEL_ICH9_6 0x2930 |
| 263 | #define PCI_DEVICE_ID_INTEL_ICH9_7 0x2916 |
| 264 | #define PCI_DEVICE_ID_INTEL_ICH9_8 0x2918 |
| 265 | |
| 266 | #define PCI_DEVICE_ID_INTEL_82801I_UHCI1 0x2934 |
| 267 | #define PCI_DEVICE_ID_INTEL_82801I_UHCI2 0x2935 |
| 268 | #define PCI_DEVICE_ID_INTEL_82801I_UHCI3 0x2936 |
| 269 | #define PCI_DEVICE_ID_INTEL_82801I_UHCI4 0x2937 |
| 270 | #define PCI_DEVICE_ID_INTEL_82801I_UHCI5 0x2938 |
| 271 | #define PCI_DEVICE_ID_INTEL_82801I_UHCI6 0x2939 |
| 272 | #define PCI_DEVICE_ID_INTEL_82801I_EHCI1 0x293a |
| 273 | #define PCI_DEVICE_ID_INTEL_82801I_EHCI2 0x293c |
| 274 | #define PCI_DEVICE_ID_INTEL_82599_SFP_VF 0x10ed |
| 275 | |
| 276 | #define PCI_DEVICE_ID_INTEL_P35_MCH 0x29c0 |
| 277 | |
| 278 | #define PCI_VENDOR_ID_XEN 0x5853 |
| 279 | #define PCI_DEVICE_ID_XEN_PLATFORM 0x0001 |
| 280 | |
| 281 | #define PCI_VENDOR_ID_NEC 0x1033 |
| 282 | #define PCI_DEVICE_ID_NEC_UPD720200 0x0194 |
| 283 | |
| 284 | #define PCI_VENDOR_ID_TEWS 0x1498 |
| 285 | #define PCI_DEVICE_ID_TEWS_TPCI200 0x30C8 |
| 286 | |
| 287 | #define PCI_VENDOR_ID_VMWARE 0x15ad |
| 288 | #define PCI_DEVICE_ID_VMWARE_PVRDMA 0x0820 |
| 289 | |
| 290 | #define PCI_VENDOR_ID_SYNOPSYS 0x16C3 |
| 291 | |
| 292 | #define PCI_VENDOR_ID_NVIDIA 0x10de |
| 293 | |
| 294 | #define PCI_VENDOR_ID_ASPEED 0x1A03 |
| 295 | |
| 296 | #endif |