xref: /qemu/include/hw/pci/pci_ids.h (revision c110425d166a6fbb60d87664d67bf2c39516fb22)
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