12e7d200bSaliguori /* 22e7d200bSaliguori * PCI Class, Vendor and Device IDs 32e7d200bSaliguori * 42e7d200bSaliguori * Please keep sorted. 52e7d200bSaliguori * 62e7d200bSaliguori * Abbreviated version of linux/pci_ids.h 72e7d200bSaliguori * 82e7d200bSaliguori * QEMU-specific definitions belong in pci.h 92e7d200bSaliguori */ 10175de524SMarkus Armbruster 11cb9c377fSPaolo Bonzini #ifndef HW_PCI_IDS_H 12175de524SMarkus Armbruster #define HW_PCI_IDS_H 132e7d200bSaliguori 142e7d200bSaliguori /* Device classes and subclasses */ 152e7d200bSaliguori 16089f7e82SLaurent Vivier #define PCI_CLASS_NOT_DEFINED 0x0000 17089f7e82SLaurent Vivier #define PCI_CLASS_NOT_DEFINED_VGA 0x0001 182e7d200bSaliguori 19089f7e82SLaurent Vivier #define PCI_BASE_CLASS_STORAGE 0x01 202e7d200bSaliguori #define PCI_CLASS_STORAGE_SCSI 0x0100 212e7d200bSaliguori #define PCI_CLASS_STORAGE_IDE 0x0101 22089f7e82SLaurent Vivier #define PCI_CLASS_STORAGE_FLOPPY 0x0102 23089f7e82SLaurent Vivier #define PCI_CLASS_STORAGE_IPI 0x0103 24e8f943c3SHannes Reinecke #define PCI_CLASS_STORAGE_RAID 0x0104 25089f7e82SLaurent Vivier #define PCI_CLASS_STORAGE_ATA 0x0105 266ed6c24aSAlexander Graf #define PCI_CLASS_STORAGE_SATA 0x0106 27089f7e82SLaurent Vivier #define PCI_CLASS_STORAGE_SAS 0x0107 28f3c507adSKeith Busch #define PCI_CLASS_STORAGE_EXPRESS 0x0108 292e7d200bSaliguori #define PCI_CLASS_STORAGE_OTHER 0x0180 302e7d200bSaliguori 31089f7e82SLaurent Vivier #define PCI_BASE_CLASS_NETWORK 0x02 322e7d200bSaliguori #define PCI_CLASS_NETWORK_ETHERNET 0x0200 33089f7e82SLaurent Vivier #define PCI_CLASS_NETWORK_TOKEN_RING 0x0201 34089f7e82SLaurent Vivier #define PCI_CLASS_NETWORK_FDDI 0x0202 35089f7e82SLaurent Vivier #define PCI_CLASS_NETWORK_ATM 0x0203 36089f7e82SLaurent Vivier #define PCI_CLASS_NETWORK_ISDN 0x0204 37089f7e82SLaurent Vivier #define PCI_CLASS_NETWORK_WORLDFIP 0x0205 38089f7e82SLaurent Vivier #define PCI_CLASS_NETWORK_PICMG214 0x0206 39dc407ae8SScott Feldman #define PCI_CLASS_NETWORK_OTHER 0x0280 402e7d200bSaliguori 41089f7e82SLaurent Vivier #define PCI_BASE_CLASS_DISPLAY 0x03 422e7d200bSaliguori #define PCI_CLASS_DISPLAY_VGA 0x0300 43089f7e82SLaurent Vivier #define PCI_CLASS_DISPLAY_XGA 0x0301 44089f7e82SLaurent Vivier #define PCI_CLASS_DISPLAY_3D 0x0302 452e7d200bSaliguori #define PCI_CLASS_DISPLAY_OTHER 0x0380 462e7d200bSaliguori 47089f7e82SLaurent Vivier #define PCI_BASE_CLASS_MULTIMEDIA 0x04 48089f7e82SLaurent Vivier #define PCI_CLASS_MULTIMEDIA_VIDEO 0x0400 492e7d200bSaliguori #define PCI_CLASS_MULTIMEDIA_AUDIO 0x0401 50089f7e82SLaurent Vivier #define PCI_CLASS_MULTIMEDIA_PHONE 0x0402 51089f7e82SLaurent Vivier #define PCI_CLASS_MULTIMEDIA_OTHER 0x0480 522e7d200bSaliguori 53089f7e82SLaurent Vivier #define PCI_BASE_CLASS_MEMORY 0x05 542e7d200bSaliguori #define PCI_CLASS_MEMORY_RAM 0x0500 55089f7e82SLaurent Vivier #define PCI_CLASS_MEMORY_FLASH 0x0501 56089f7e82SLaurent Vivier #define PCI_CLASS_MEMORY_OTHER 0x0580 572e7d200bSaliguori 58089f7e82SLaurent Vivier #define PCI_BASE_CLASS_BRIDGE 0x06 59089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_HOST 0x0600 60089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_ISA 0x0601 61089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_EISA 0x0602 62089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_MC 0x0603 63089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_PCI 0x0604 64089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_PCI_INF_SUB 0x01 65089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_PCMCIA 0x0605 66089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_NUBUS 0x0606 67089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_CARDBUS 0x0607 68089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_RACEWAY 0x0608 69089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_PCI_SEMITP 0x0609 70089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_IB_PCI 0x060a 71089f7e82SLaurent Vivier #define PCI_CLASS_BRIDGE_OTHER 0x0680 72089f7e82SLaurent Vivier 73089f7e82SLaurent Vivier #define PCI_BASE_CLASS_COMMUNICATION 0x07 74089f7e82SLaurent Vivier #define PCI_CLASS_COMMUNICATION_SERIAL 0x0700 75089f7e82SLaurent Vivier #define PCI_CLASS_COMMUNICATION_PARALLEL 0x0701 76089f7e82SLaurent Vivier #define PCI_CLASS_COMMUNICATION_MULTISERIAL 0x0702 77089f7e82SLaurent Vivier #define PCI_CLASS_COMMUNICATION_MODEM 0x0703 78089f7e82SLaurent Vivier #define PCI_CLASS_COMMUNICATION_GPIB 0x0704 79089f7e82SLaurent Vivier #define PCI_CLASS_COMMUNICATION_SC 0x0705 80089f7e82SLaurent Vivier #define PCI_CLASS_COMMUNICATION_OTHER 0x0780 81089f7e82SLaurent Vivier 82089f7e82SLaurent Vivier #define PCI_BASE_CLASS_SYSTEM 0x08 83089f7e82SLaurent Vivier #define PCI_CLASS_SYSTEM_PIC 0x0800 84089f7e82SLaurent Vivier #define PCI_CLASS_SYSTEM_PIC_IOAPIC 0x080010 85089f7e82SLaurent Vivier #define PCI_CLASS_SYSTEM_PIC_IOXAPIC 0x080020 86089f7e82SLaurent Vivier #define PCI_CLASS_SYSTEM_DMA 0x0801 87089f7e82SLaurent Vivier #define PCI_CLASS_SYSTEM_TIMER 0x0802 88089f7e82SLaurent Vivier #define PCI_CLASS_SYSTEM_RTC 0x0803 89089f7e82SLaurent Vivier #define PCI_CLASS_SYSTEM_PCI_HOTPLUG 0x0804 90ece5e5bfSKevin O'Connor #define PCI_CLASS_SYSTEM_SDHCI 0x0805 912e7d200bSaliguori #define PCI_CLASS_SYSTEM_OTHER 0x0880 922e7d200bSaliguori 93089f7e82SLaurent Vivier #define PCI_BASE_CLASS_INPUT 0x09 94ffaa0503SGerd Hoffmann #define PCI_CLASS_INPUT_KEYBOARD 0x0900 95ffaa0503SGerd Hoffmann #define PCI_CLASS_INPUT_PEN 0x0901 96ffaa0503SGerd Hoffmann #define PCI_CLASS_INPUT_MOUSE 0x0902 97ffaa0503SGerd Hoffmann #define PCI_CLASS_INPUT_SCANNER 0x0903 98ffaa0503SGerd Hoffmann #define PCI_CLASS_INPUT_GAMEPORT 0x0904 99ffaa0503SGerd Hoffmann #define PCI_CLASS_INPUT_OTHER 0x0980 100ffaa0503SGerd Hoffmann 101089f7e82SLaurent Vivier #define PCI_BASE_CLASS_DOCKING 0x0a 102089f7e82SLaurent Vivier #define PCI_CLASS_DOCKING_GENERIC 0x0a00 103089f7e82SLaurent Vivier #define PCI_CLASS_DOCKING_OTHER 0x0a80 104089f7e82SLaurent Vivier 105089f7e82SLaurent Vivier #define PCI_BASE_CLASS_PROCESSOR 0x0b 106089f7e82SLaurent Vivier #define PCI_CLASS_PROCESSOR_PENTIUM 0x0b02 1072e7d200bSaliguori #define PCI_CLASS_PROCESSOR_POWERPC 0x0b20 108089f7e82SLaurent Vivier #define PCI_CLASS_PROCESSOR_MIPS 0x0b30 109089f7e82SLaurent Vivier #define PCI_CLASS_PROCESSOR_CO 0x0b40 110089f7e82SLaurent Vivier 111089f7e82SLaurent Vivier #define PCI_BASE_CLASS_SERIAL 0x0c 112089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_FIREWIRE 0x0c00 113089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_ACCESS 0x0c01 114089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_SSA 0x0c02 115089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_USB 0x0c03 116089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_USB_UHCI 0x0c0300 117089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_USB_OHCI 0x0c0310 118089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_USB_EHCI 0x0c0320 119089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_USB_XHCI 0x0c0330 120089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_USB_UNKNOWN 0x0c0380 121089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_USB_DEVICE 0x0c03fe 122089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_FIBER 0x0c04 123089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_SMBUS 0x0c05 124089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_IB 0x0c06 125089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_IPMI 0x0c07 126089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_SERCOS 0x0c08 127089f7e82SLaurent Vivier #define PCI_CLASS_SERIAL_CANBUS 0x0c09 128089f7e82SLaurent Vivier 129089f7e82SLaurent Vivier #define PCI_BASE_CLASS_WIRELESS 0x0d 130089f7e82SLaurent Vivier #define PCI_CLASS_WIRELESS_IRDA 0x0d00 131089f7e82SLaurent Vivier #define PCI_CLASS_WIRELESS_CIR 0x0d01 132089f7e82SLaurent Vivier #define PCI_CLASS_WIRELESS_RF_CONTROLLER 0x0d10 133089f7e82SLaurent Vivier #define PCI_CLASS_WIRELESS_BLUETOOTH 0x0d11 134089f7e82SLaurent Vivier #define PCI_CLASS_WIRELESS_BROADBAND 0x0d12 135089f7e82SLaurent Vivier #define PCI_CLASS_WIRELESS_OTHER 0x0d80 136089f7e82SLaurent Vivier 137089f7e82SLaurent Vivier #define PCI_BASE_CLASS_SATELLITE 0x0f 138089f7e82SLaurent Vivier #define PCI_CLASS_SATELLITE_TV 0x0f00 139089f7e82SLaurent Vivier #define PCI_CLASS_SATELLITE_AUDIO 0x0f01 140089f7e82SLaurent Vivier #define PCI_CLASS_SATELLITE_VOICE 0x0f03 141089f7e82SLaurent Vivier #define PCI_CLASS_SATELLITE_DATA 0x0f04 142089f7e82SLaurent Vivier 143089f7e82SLaurent Vivier #define PCI_BASE_CLASS_CRYPT 0x10 144089f7e82SLaurent Vivier #define PCI_CLASS_CRYPT_NETWORK 0x1000 145089f7e82SLaurent Vivier #define PCI_CLASS_CRYPT_ENTERTAINMENT 0x1001 146089f7e82SLaurent Vivier #define PCI_CLASS_CRYPT_OTHER 0x1080 147089f7e82SLaurent Vivier 148089f7e82SLaurent Vivier #define PCI_BASE_CLASS_SIGNAL_PROCESSING 0x11 149089f7e82SLaurent Vivier #define PCI_CLASS_SP_DPIO 0x1100 150089f7e82SLaurent Vivier #define PCI_CLASS_SP_PERF 0x1101 151089f7e82SLaurent Vivier #define PCI_CLASS_SP_SYNCH 0x1110 152089f7e82SLaurent Vivier #define PCI_CLASS_SP_MANAGEMENT 0x1120 153089f7e82SLaurent Vivier #define PCI_CLASS_SP_OTHER 0x1180 1542e7d200bSaliguori 1552e7d200bSaliguori #define PCI_CLASS_OTHERS 0xff 1562e7d200bSaliguori 1572e7d200bSaliguori /* Vendors and devices. Sort key: vendor first, device next. */ 1582e7d200bSaliguori 1592e7d200bSaliguori #define PCI_VENDOR_ID_LSI_LOGIC 0x1000 160ceae18bdSHervé Poussineau #define PCI_DEVICE_ID_LSI_53C810 0x0001 1612e7d200bSaliguori #define PCI_DEVICE_ID_LSI_53C895A 0x0012 162e351b826SPaolo Bonzini #define PCI_DEVICE_ID_LSI_SAS1068 0x0054 163e8f943c3SHannes Reinecke #define PCI_DEVICE_ID_LSI_SAS1078 0x0060 164e23d0498SHannes Reinecke #define PCI_DEVICE_ID_LSI_SAS0079 0x0079 1652e7d200bSaliguori 1662e7d200bSaliguori #define PCI_VENDOR_ID_DEC 0x1011 1672e7d200bSaliguori #define PCI_DEVICE_ID_DEC_21154 0x0026 1682e7d200bSaliguori 1692e7d200bSaliguori #define PCI_VENDOR_ID_CIRRUS 0x1013 1702e7d200bSaliguori 1712e7d200bSaliguori #define PCI_VENDOR_ID_IBM 0x1014 1722e7d200bSaliguori 1732e7d200bSaliguori #define PCI_VENDOR_ID_AMD 0x1022 1742e7d200bSaliguori #define PCI_DEVICE_ID_AMD_LANCE 0x2000 175fabaaf1dSHervé Poussineau #define PCI_DEVICE_ID_AMD_SCSI 0x2020 1762e7d200bSaliguori 177cf4c01fdSIsaku Yamahata #define PCI_VENDOR_ID_TI 0x104c 178cf4c01fdSIsaku Yamahata 1792e7d200bSaliguori #define PCI_VENDOR_ID_MOTOROLA 0x1057 1802e7d200bSaliguori #define PCI_DEVICE_ID_MOTOROLA_MPC106 0x0002 1812e7d200bSaliguori #define PCI_DEVICE_ID_MOTOROLA_RAVEN 0x4801 1822e7d200bSaliguori 1832e7d200bSaliguori #define PCI_VENDOR_ID_APPLE 0x106b 1842e7d200bSaliguori #define PCI_DEVICE_ID_APPLE_UNI_N_AGP 0x0020 1850f921197SAlexander Graf #define PCI_DEVICE_ID_APPLE_U3_AGP 0x004b 186f85504b2SBenjamin Herrenschmidt #define PCI_DEVICE_ID_APPLE_UNI_N_GMAC 0x0021 1872e7d200bSaliguori 1882e7d200bSaliguori #define PCI_VENDOR_ID_SUN 0x108e 1892e7d200bSaliguori #define PCI_DEVICE_ID_SUN_EBUS 0x1000 190*c110425dSMark Cave-Ayland #define PCI_DEVICE_ID_SUN_HME 0x1001 1912e7d200bSaliguori #define PCI_DEVICE_ID_SUN_SIMBA 0x5000 1922e7d200bSaliguori #define PCI_DEVICE_ID_SUN_SABRE 0xa000 1932e7d200bSaliguori 1942e7d200bSaliguori #define PCI_VENDOR_ID_CMD 0x1095 1952e7d200bSaliguori #define PCI_DEVICE_ID_CMD_646 0x0646 1962e7d200bSaliguori 1972e7d200bSaliguori #define PCI_VENDOR_ID_REALTEK 0x10ec 1982e7d200bSaliguori #define PCI_DEVICE_ID_REALTEK_8139 0x8139 1992e7d200bSaliguori 2002e7d200bSaliguori #define PCI_VENDOR_ID_XILINX 0x10ee 2012e7d200bSaliguori 202edf79e66SHuacai Chen #define PCI_VENDOR_ID_VIA 0x1106 203edf79e66SHuacai Chen #define PCI_DEVICE_ID_VIA_ISA_BRIDGE 0x0686 204edf79e66SHuacai Chen #define PCI_DEVICE_ID_VIA_IDE 0x0571 205edf79e66SHuacai Chen #define PCI_DEVICE_ID_VIA_UHCI 0x3038 206edf79e66SHuacai Chen #define PCI_DEVICE_ID_VIA_ACPI 0x3057 207edf79e66SHuacai Chen #define PCI_DEVICE_ID_VIA_AC97 0x3058 208edf79e66SHuacai Chen #define PCI_DEVICE_ID_VIA_MC97 0x3068 209edf79e66SHuacai Chen 2102e7d200bSaliguori #define PCI_VENDOR_ID_MARVELL 0x11ab 2112e7d200bSaliguori 212efae2784SBALATON Zoltan #define PCI_VENDOR_ID_SILICON_MOTION 0x126f 213efae2784SBALATON Zoltan #define PCI_DEVICE_ID_SM501 0x0501 214efae2784SBALATON Zoltan 2152e7d200bSaliguori #define PCI_VENDOR_ID_ENSONIQ 0x1274 2162e7d200bSaliguori #define PCI_DEVICE_ID_ENSONIQ_ES1370 0x5000 2172e7d200bSaliguori 21843302969SGabriel Laupre #define PCI_VENDOR_ID_CHELSIO 0x1425 21943302969SGabriel Laupre 2202e7d200bSaliguori #define PCI_VENDOR_ID_FREESCALE 0x1957 2212e7d200bSaliguori #define PCI_DEVICE_ID_MPC8533E 0x0030 2222e7d200bSaliguori 2232e7d200bSaliguori #define PCI_VENDOR_ID_INTEL 0x8086 224a04ff940SAndreas Färber #define PCI_DEVICE_ID_INTEL_82378 0x0484 2252e7d200bSaliguori #define PCI_DEVICE_ID_INTEL_82441 0x1237 2262e7d200bSaliguori #define PCI_DEVICE_ID_INTEL_82801AA_5 0x2415 2279e38f561SIsaku Yamahata #define PCI_DEVICE_ID_INTEL_82801BA_11 0x244e 22894527eadSGerd Hoffmann #define PCI_DEVICE_ID_INTEL_82801D 0x24CD 229048eabcbSJuan Quintela #define PCI_DEVICE_ID_INTEL_ESB_9 0x25ab 2302e7d200bSaliguori #define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000 2312e7d200bSaliguori #define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010 2322e7d200bSaliguori #define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020 2332e7d200bSaliguori #define PCI_DEVICE_ID_INTEL_82371AB_0 0x7110 2342e7d200bSaliguori #define PCI_DEVICE_ID_INTEL_82371AB 0x7111 2352e7d200bSaliguori #define PCI_DEVICE_ID_INTEL_82371AB_2 0x7112 2362e7d200bSaliguori #define PCI_DEVICE_ID_INTEL_82371AB_3 0x7113 237e516572fSJason Baron 238e516572fSJason Baron #define PCI_DEVICE_ID_INTEL_ICH9_0 0x2910 239e516572fSJason Baron #define PCI_DEVICE_ID_INTEL_ICH9_1 0x2917 240e516572fSJason Baron #define PCI_DEVICE_ID_INTEL_ICH9_2 0x2912 241e516572fSJason Baron #define PCI_DEVICE_ID_INTEL_ICH9_3 0x2913 242e516572fSJason Baron #define PCI_DEVICE_ID_INTEL_ICH9_4 0x2914 243e516572fSJason Baron #define PCI_DEVICE_ID_INTEL_ICH9_5 0x2919 244e516572fSJason Baron #define PCI_DEVICE_ID_INTEL_ICH9_6 0x2930 245e516572fSJason Baron #define PCI_DEVICE_ID_INTEL_ICH9_7 0x2916 246e516572fSJason Baron #define PCI_DEVICE_ID_INTEL_ICH9_8 0x2918 247e516572fSJason Baron 248f9ebf5e5SGerd Hoffmann #define PCI_DEVICE_ID_INTEL_82801I_UHCI1 0x2934 249f9ebf5e5SGerd Hoffmann #define PCI_DEVICE_ID_INTEL_82801I_UHCI2 0x2935 250f9ebf5e5SGerd Hoffmann #define PCI_DEVICE_ID_INTEL_82801I_UHCI3 0x2936 251f9ebf5e5SGerd Hoffmann #define PCI_DEVICE_ID_INTEL_82801I_UHCI4 0x2937 252f9ebf5e5SGerd Hoffmann #define PCI_DEVICE_ID_INTEL_82801I_UHCI5 0x2938 253f9ebf5e5SGerd Hoffmann #define PCI_DEVICE_ID_INTEL_82801I_UHCI6 0x2939 254f9ebf5e5SGerd Hoffmann #define PCI_DEVICE_ID_INTEL_82801I_EHCI1 0x293a 255f9ebf5e5SGerd Hoffmann #define PCI_DEVICE_ID_INTEL_82801I_EHCI2 0x293c 2569ff706c8SAnthony PERARD #define PCI_DEVICE_ID_INTEL_82599_SFP_VF 0x10ed 25701195b73SSteven Smith 258df2d8b3eSIsaku Yamahata #define PCI_DEVICE_ID_INTEL_Q35_MCH 0x29c0 259df2d8b3eSIsaku Yamahata 26033d5ad53SMichael S. Tsirkin #define PCI_VENDOR_ID_XEN 0x5853 26133d5ad53SMichael S. Tsirkin #define PCI_DEVICE_ID_XEN_PLATFORM 0x0001 26262c6ae04SHector Martin 26362c6ae04SHector Martin #define PCI_VENDOR_ID_NEC 0x1033 26462c6ae04SHector Martin #define PCI_DEVICE_ID_NEC_UPD720200 0x0194 265cb9c377fSPaolo Bonzini 2669c16fa79SAlberto Garcia #define PCI_VENDOR_ID_TEWS 0x1498 2679c16fa79SAlberto Garcia #define PCI_DEVICE_ID_TEWS_TPCI200 0x30C8 2689c16fa79SAlberto Garcia 269cb9c377fSPaolo Bonzini #endif 270