1 /* 2 pci_table.c 3 4 Tables with PCI vendor and device identifiers 5 6 Created: Jan 2000 by Philip Homburg <philip@cs.vu.nl> 7 8 See the Linux PCI ID Repository <http://pciids.sourceforge.net/>. 9 */ 10 11 /* Changes from original Minix 2.0.4 version (2003-09-05): 12 * 2003-11-30 (kjb) Minix 2.0.4 FIX.TAZ add D-Link RTL8139 (0x1186, 0x1300) 13 * 2004-08-08 (asw) add Intel 82371AB (0x8086, 0x7100) 14 */ 15 16 #include <minix/drivers.h> 17 #include "pci.h" 18 #if __minix_vmd 19 #include "config.h" 20 #endif 21 22 struct pci_vendor pci_vendor_table[]= 23 { 24 { 0x1000, "NCR" }, 25 { 0x1002, "ATI Technologies" }, 26 { 0x100B, "National Semiconductor Corporation" }, 27 { 0x1013, "Cirrus Logic" }, 28 { 0x1022, "Advanced Micro Devices" }, 29 { 0x102B, "Matrox Graphics, Inc." }, 30 { 0x1039, "Silicon Integrated Systems (SiS)" }, 31 { 0x104C, "Texas Instruments" }, 32 { 0x105A, "Promise Technology" }, 33 { 0x10B7, "3Com Corporation" }, 34 { 0x10B9, "AcerLabs (ALI)" }, 35 { 0x10C8, "Neomagic Corporation" }, 36 { 0x10DE, "nVidia Corporation" }, 37 { 0x10EC, "Realtek" }, 38 { 0x1106, "VIA" }, 39 { 0x110A, "Siemens Nixdorf AG" }, 40 { 0x1186, "D-Link" }, 41 { 0x125D, "ESS Technology" }, 42 { 0x1259, "Allied Telesyn International" }, 43 { 0x1274, "Ensoniq" }, 44 { 0x1385, "Netgear" }, 45 { 0x16ec, "US Robotics" }, 46 { 0x1737, "Linksys" }, 47 { 0x1969, "Atheros Communications" }, 48 { 0x1af4, "Red Hat" }, 49 { 0x5333, "S3" }, 50 { 0x8086, "Intel" }, 51 { 0x80ee, "Oracle" }, 52 { 0x9004, "Adaptec" }, 53 { 0x9005, "Adaptec" }, 54 { 0x0000, NULL } 55 }; 56 57 struct pci_device pci_device_table[]= 58 { 59 { 0x1000, 0x0001, "NCR 53C810" }, 60 { 0x1000, 0x000F, "NCR 53C875" }, 61 { 0x1002, 0x4752, "ATI Rage XL PCI" }, 62 { 0x100B, 0xD001, "Nat. Semi. 87410" }, 63 { 0x1013, 0x00B8, "Cirrus Logic GD 5446" }, 64 { 0x1013, 0x6003, "Cirrus Logic CS4614/22/24 CrystalClear" }, 65 { 0x1022, 0x1100, "K8 HyperTransport Tech. Conf." }, 66 { 0x1022, 0x1101, "K8 [Athlon64/Opteron] Address Map" }, 67 { 0x1022, 0x1102, "K8 [Athlon64/Opteron] DRAM Controller" }, 68 { 0x1022, 0x1103, "K8 [Athlon64/Opteron] Misc. Control" }, 69 { 0x1022, 0x2000, "AMD Lance/PCI" }, 70 { 0x1022, 0x700C, "AMD-762 CPU to PCI Bridge (SMP chipset)" }, 71 { 0x1022, 0x700D, "AMD-762 CPU to PCI Bridge (AGP 4x)" }, 72 { 0x1022, 0x7410, "AMD-766 PCI to ISA/LPC Bridge" }, 73 { 0x1022, 0x7411, "AMD-766 EIDE Controller" }, 74 { 0x102B, 0x051B, "Matrox MGA 2164W [Millennium II]" }, 75 { 0x102B, 0x0525, "Matrox MGA G400 AGP" }, 76 { 0x1039, 0x0008, "SiS 85C503/5513" }, 77 { 0x1039, 0x0200, "SiS 5597/5598 VGA" }, 78 { 0x1039, 0x0406, "SiS 85C501/2" }, 79 { 0x1039, 0x5597, "SiS 5582" }, 80 { 0x104C, 0xAC1C, "TI PCI1225" }, 81 { 0x105A, 0x0D30, "Promise Technology 20265" }, 82 { 0x10B7, 0x9058, "3Com 3c905B-Combo" }, 83 { 0x10B7, 0x9805, "3Com 3c980-TX Python-T" }, 84 { 0x10B9, 0x1533, "ALI M1533 ISA-bridge [Aladdin IV]" }, 85 { 0x10B9, 0x1541, "ALI M1541" }, 86 { 0x10B9, 0x5229, "ALI M5229 (IDE)" }, 87 { 0x10B9, 0x5243, "ALI M5243" }, 88 { 0x10B9, 0x7101, "ALI M7101 PMU" }, 89 { 0x10C8, 0x0005, "Neomagic NM2200 Magic Graph 256AV" }, 90 { 0x10C8, 0x8005, "Neomagic NM2200 Magic Graph 256AV Audio" }, 91 { 0x10DE, 0x0020, "nVidia Riva TnT [NV04]" }, 92 { 0x10DE, 0x0110, "nVidia GeForce2 MX [NV11]" }, 93 { 0x10EC, 0x8029, "Realtek RTL8029" }, 94 { 0x10EC, 0x8129, "Realtek RTL8129" }, 95 { 0x10EC, 0x8136, "Realtek RTL8101E Family" }, 96 { 0x10EC, 0x8139, "Realtek RTL8139" }, 97 { 0x10EC, 0x8167, "Realtek RTL8169/8110 Family Gigabit NIC" }, 98 { 0x10EC, 0x8169, "Realtek RTL8169" }, 99 { 0x1106, 0x0305, "VIA VT8363/8365 [KT133/KM133]" }, 100 { 0x1106, 0x0571, "VIA IDE controller" }, 101 { 0x1106, 0x0686, "VIA VT82C686 (Apollo South Bridge)" }, 102 { 0x1106, 0x1204, "K8M800 Host Bridge" }, 103 { 0x1106, 0x2204, "K8M800 Host Bridge" }, 104 { 0x1106, 0x3038, "VT83C572 PCI USB Controller" }, 105 { 0x1106, 0x3057, "VT82C686A ACPI Power Management Controller" }, 106 { 0x1106, 0x3058, "VIA AC97 Audio Controller" }, 107 { 0x1106, 0x3059, "VIA AC97 Audio Controller" }, 108 { 0x1106, 0x3065, "VT6102 [Rhine-II]" }, 109 { 0x1106, 0x3074, "VIA VT8233" }, 110 { 0x1106, 0x3099, "VIA VT8367 [KT266]" }, 111 { 0x1106, 0x3104, "VIA USB 2.0" }, 112 { 0x1106, 0x3108, "VIA S3 Unichrome Pro VGA Adapter" }, 113 { 0x1106, 0x3149, "VIA VT6420 SATA RAID Controller" }, 114 { 0x1106, 0x3204, "K8M800 Host Bridge" }, 115 { 0x1106, 0x3227, "VT8237 ISA bridge" }, 116 { 0x1106, 0x4204, "K8M800 Host Bridge" }, 117 { 0x1106, 0x8305, "VIA VT8365 [KM133 AGP]" }, 118 { 0x1106, 0xB099, "VIA VT8367 [KT266 AGP]" }, 119 { 0x1106, 0xB188, "VT8237 PCI bridge" }, 120 { 0x110A, 0x0005, "Siemens Nixdorf Tulip Cntlr., Power Management" }, 121 { 0x1186, 0x1300, "D-Link RTL8139" }, 122 { 0x1186, 0x4300, "D-Link Gigabit adapter" }, 123 { 0x1259, 0xc107, "Allied Telesyn International Gigabit Ethernet Adapter" }, 124 { 0x125D, 0x1969, "ESS ES1969 Solo-1 Audiodrive" }, 125 { 0x1274, 0x1371, "Ensoniq ES1371 [AudioPCI-97]" }, 126 { 0x1274, 0x5000, "Ensoniq ES1370" }, 127 { 0x1274, 0x5880, "Ensoniq CT5880 [AudioPCI]" }, 128 { 0x1385, 0x8169, "Netgear Gigabit Ethernet Adapter" }, 129 { 0x16ec, 0x0116, "US Robotics Realtek 8169S chip" }, 130 { 0x1737, 0x1032, "Linksys Instant Gigabit Desktop Network Interface" }, 131 { 0x1969, 0x2048, "Atheros L2 Fast Ethernet Controller" }, 132 { 0x1af4, 0x1000, "Virtio network device" }, 133 { 0x1af4, 0x1001, "Virtio block device" }, 134 { 0x1af4, 0x1002, "Virtio memory balloon" }, 135 { 0x1af4, 0x1003, "Virtio console" }, 136 { 0x5333, 0x8811, "S3 86c764/765 [Trio32/64/64V+]" }, 137 { 0x5333, 0x883d, "S3 Virge/VX" }, 138 { 0x5333, 0x88d0, "S3 Vision 964 vers 0" }, 139 { 0x5333, 0x8a01, "S3 Virge/DX or /GX" }, 140 { 0x8086, 0x1004, "Intel 82543GC Gigabit Ethernet Controller" }, 141 { 0x8086, 0x100E, "Intel PRO/1000 MT Desktop Adapter" }, 142 { 0x8086, 0x100F, "Intel PRO/1000 MT 82545EM" }, 143 { 0x8086, 0x1029, "Intel EtherExpressPro100 ID1029" }, 144 { 0x8086, 0x1030, "Intel Corporation 82559 InBusiness 10/100" }, 145 { 0x8086, 0x1031, "Intel Corporation 82801CAM PRO/100 VE" }, 146 { 0x8086, 0x1032, "Intel Corporation 82801CAM PRO/100 VE" }, 147 { 0x8086, 0x103d, "Intel Corporation 82801DB PRO/100 VE (MOB)" }, 148 { 0x8086, 0x1064, "Intel Corporation 82562 PRO/100 VE" }, 149 { 0x8086, 0x107C, "Intel PRO/1000 GT Desktop Adapter" }, 150 { 0x8086, 0x10CD, "Intel PRO/1000 Gigabit Network Connection" }, 151 { 0x8086, 0x10D3, "Intel 82574L Gigabit Network Connection" }, 152 { 0x8086, 0x105E, "Intel 82571EB Gigabit Ethernet Controller" }, 153 { 0x8086, 0x1209, "Intel EtherExpressPro100 82559ER" }, 154 { 0x8086, 0x1229, "Intel EtherExpressPro100 82557/8/9" }, 155 { 0x8086, 0x122D, "Intel 82437FX" }, 156 { 0x8086, 0x122E, "Intel 82371FB (PIIX)" }, 157 { 0x8086, 0x1230, "Intel 82371FB (IDE)" }, 158 { 0x8086, 0x1237, "Intel 82441FX (440FX)" }, 159 { 0x8086, 0x1250, "Intel 82439HX" }, 160 { 0x8086, 0x1A30, "Intel 82845B/A MCH" }, 161 { 0x8086, 0x1A31, "Intel 82845B/A PCI Bridge to AGP port" }, 162 { 0x8086, 0x2440, "Intel 82801B PCI to ISA bridge" }, 163 { 0x8086, 0x2449, "Intel EtherExpressPro100 82562EM" }, 164 { 0x8086, 0x244e, "Intel 82801 PCI Bridge" }, 165 { 0x8086, 0x2560, "Intel 82845G/GL[Brookdale-G]/GE/PE" }, 166 { 0x8086, 0x2561, "Intel 82845G/GL/GE/PE Host-to-AGP Bridge" }, 167 { 0x8086, 0x7000, "Intel 82371SB" }, 168 { 0x8086, 0x7010, "Intel 82371SB (IDE)" }, 169 { 0x8086, 0x7020, "Intel 82371SB (USB)" }, 170 { 0x8086, 0x7030, "Intel 82437VX" }, /* asw 2005-03-02 */ 171 { 0x8086, 0x7100, "Intel 82371AB" }, /* asw 2004-07-31 */ 172 { 0x8086, 0x7100, "Intel 82371AB" }, 173 { 0x8086, 0x7110, "Intel 82371AB (PIIX4)" }, 174 { 0x8086, 0x7111, "Intel 82371AB (IDE)" }, 175 { 0x8086, 0x7112, "Intel 82371AB (USB)" }, 176 { 0x8086, 0x7113, "Intel 82371AB (Power)" }, 177 { 0x8086, 0x7124, "Intel 82801AA" }, /* asw 2004-11-09 */ 178 { 0x8086, 0x7190, "Intel 82443BX" }, 179 { 0x8086, 0x7191, "Intel 82443BX (AGP bridge)" }, 180 { 0x8086, 0x7192, "Intel 82443BX (Host-to-PCI bridge)" }, 181 { 0x80ee, 0xcafe, "Oracle VirtualBox backdoor device" }, 182 { 0x9004, 0x8178, "Adaptec AHA-2940U/2940UW Ultra/Ultra-Wide SCSI Ctrlr" }, 183 { 0x9005, 0x0080, "Adaptec AIC-7892A Ultra160/m PCI SCSI Controller" }, 184 { 0x0000, 0x0000, NULL } 185 }; 186 187 struct pci_baseclass pci_baseclass_table[]= 188 { 189 { 0x00, "No device class" }, 190 { 0x01, "Mass storage controller" }, 191 { 0x02, "Network controller" }, 192 { 0x03, "Display controller" }, 193 { 0x04, "Multimedia device" }, 194 { 0x05, "Memory controller" }, 195 { 0x06, "Bridge device" }, 196 { 0x07, "Simple comm. controller" }, 197 { 0x08, "Base system peripheral" }, 198 { 0x09, "Input device" }, 199 { 0x0A, "Docking station" }, 200 { 0x0B, "Processor" }, 201 { 0x0C, "Serial bus controller" }, 202 { 0x0d, "Wireless controller" }, 203 { 0x0e, "Intelligent I/O controller" }, 204 { 0x0f, "Satellite comm. controller" }, 205 { 0x10, "Encryption/decryption controller" }, 206 { 0x11, "Data acquisition controller" }, 207 { 0xff, "Misc. device" }, 208 209 { 0x00, NULL } 210 }; 211 212 /* -1 in the infclass field is a wildcard for infclass */ 213 struct pci_subclass pci_subclass_table[]= 214 { 215 { 0x00, 0x01, 0x00, "VGA-compatible device" }, 216 217 { 0x01, 0x00, 0x00, "SCSI bus controller" }, 218 { 0x01, 0x01, -1, "IDE controller" }, 219 { 0x01, 0x02, 0x00, "Floppy disk controller" }, 220 { 0x01, 0x03, 0x00, "IPI controller" }, 221 { 0x01, 0x04, 0x00, "RAID controller" }, 222 { 0x01, 0x06, 0x01, "AHCI controller" }, 223 { 0x01, 0x80, 0x00, "Other mass storage controller" }, 224 225 { 0x02, 0x00, 0x00, "Ethernet controller" }, 226 { 0x02, 0x01, 0x00, "Token Ring controller" }, 227 { 0x02, 0x02, 0x00, "FDDI controller" }, 228 { 0x02, 0x03, 0x00, "ATM controller" }, 229 { 0x02, 0x04, 0x00, "ISDN controller" }, 230 { 0x02, 0x80, 0x00, "Other network controller" }, 231 232 { 0x03, 0x00, 0x00, "VGA-compatible controller" }, 233 { 0x03, 0x00, 0x01, "8514-compatible controller" }, 234 { 0x03, 0x01, 0x00, "XGA controller" }, 235 { 0x03, 0x02, 0x00, "3D controller" }, 236 { 0x03, 0x80, 0x00, "Other display controller" }, 237 238 { 0x04, 0x00, 0x00, "Video device" }, 239 { 0x04, 0x01, 0x00, "Audio device" }, 240 { 0x04, 0x02, 0x00, "Computer telephony device" }, 241 { 0x04, 0x80, 0x00, "Other multimedia device" }, 242 243 { 0x06, 0x00, 0x00, "Host bridge" }, 244 { 0x06, 0x01, 0x00, "ISA bridge" }, 245 { 0x06, 0x02, 0x00, "EISA bridge" }, 246 { 0x06, 0x03, 0x00, "MCA bridge" }, 247 { 0x06, 0x04, 0x00, "PCI-to-PCI bridge" }, 248 { 0x06, 0x04, 0x01, "Subtractive decode PCI-to-PCI bridge" }, 249 { 0x06, 0x05, 0x00, "PCMCIA bridge" }, 250 { 0x06, 0x06, 0x00, "NuBus bridge" }, 251 { 0x06, 0x07, 0x00, "CardBus bridge" }, 252 { 0x06, 0x08, -1, "RACEway bridge" }, 253 { 0x06, 0x09, -1, "Semi-transparent PCI-to-PCI bridge" }, 254 { 0x06, 0x80, 0x00, "Other bridge device" }, 255 256 { 0x0C, 0x00, 0x00, "IEEE 1394 (FireWire)" }, 257 { 0x0C, 0x00, 0x10, "IEEE 1394 (OpenHCI)" }, 258 { 0x0C, 0x01, 0x00, "ACCESS bus" }, 259 { 0x0C, 0x02, 0x00, "SSA" }, 260 { 0x0C, 0x03, 0x00, "USB (with UHC)" }, 261 { 0x0C, 0x03, 0x10, "USB (with OHC)" }, 262 { 0x0C, 0x03, 0x80, "USB (other host inf.)" }, 263 { 0x0C, 0x03, 0xFE, "USB device" }, 264 { 0x0C, 0x04, 0x00, "Fibre Channel" }, 265 { 0x0C, 0x05, 0x00, "SMBus" }, 266 267 { 0x00, 0x00, 0x00, NULL } 268 }; 269 270 #if 0 271 struct pci_intel_ctrl pci_intel_ctrl[]= 272 { 273 { 0x1022, 0x700C, }, /* AMD-762 */ 274 { 0x1039, 0x0406, }, /* SiS 85C501/2 */ 275 { 0x1039, 0x5597, }, /* SiS 5582 */ 276 { 0x10B9, 0x1541, }, /* ALI M1541 */ 277 { 0x1106, 0x0305, }, /* VIA VT8363/8365 */ 278 { 0x1106, 0x3099, }, /* VIA VT8367 [KT266] */ 279 { 0x1106, 0x3188, }, /* VIA */ 280 { 0x1106, 0x0282, }, /* VIA */ 281 { 0x1106, 0x0204, }, /* VIA VT8367 [KT266] */ 282 { 0x8086, 0x122D, }, /* Intel 82437FX */ 283 { 0x8086, 0x1237, }, /* Intel 82441FX */ 284 { 0x8086, 0x1250, }, /* Intel 82439HX */ 285 { 0x8086, 0x1A30, }, /* Intel 82845 MCH */ 286 { 0x8086, 0x2560, }, /* Intel 82845G/GL[Brookdale-G]/GE/PE */ 287 { 0x8086, 0x7030, }, /* Intel 82437VX (asw 2005-03-02) */ 288 { 0x8086, 0x7100, }, /* Intel 82371AB (asw 2004-07-31) */ 289 { 0x8086, 0x7124, }, /* Intel 82801AA (asw 2004-11-09) */ 290 { 0x8086, 0x7190, }, /* Intel 82443BX - AGP enabled */ 291 { 0x8086, 0x7192, }, /* Intel 82443BX - AGP disabled */ 292 { 0x0000, 0x0000, }, 293 }; 294 #endif 295 296 struct pci_isabridge pci_isabridge[]= 297 { 298 { 0x1022, 0x7410, 1, PCI_IB_AMD, }, /* AMD-766 */ 299 { 0x1039, 0x0008, 1, PCI_IB_SIS, }, /* SiS 85C503/5513 */ 300 { 0x10B9, 0x1533, 1, PCI_IB_PIIX, }, /* ALI M1533 */ 301 { 0x1106, 0x0686, 1, PCI_IB_VIA, }, /* VIA VT82C686 */ 302 { 0x1106, 0x3074, 1, PCI_IB_VIA, }, /* VIA VT8233 */ 303 { 0x1106, 0x3227, 1, PCI_IB_VIA, }, /* VIA */ 304 { 0x8086, 0x122E, 1, PCI_IB_PIIX, }, /* Intel 82371FB */ 305 { 0x8086, 0x2440, 1, PCI_IB_PIIX, }, /* Intel 82801B */ 306 { 0x8086, 0x7000, 1, PCI_IB_PIIX, }, /* Intel 82371SB */ 307 { 0x8086, 0x7030, 1, PCI_IB_PIIX, }, /* Intel 82437VX (asw 2005-03-02) */ 308 { 0x8086, 0x7100, 1, PCI_IB_PIIX, }, /* Intel 82371AB (asw 2004-07-31) */ 309 { 0x8086, 0x7110, 1, PCI_IB_PIIX, }, /* Intel PIIX4 */ 310 { 0x8086, 0x7124, 1, PCI_IB_PIIX, }, /* Intel 82801AA (asw 2004-11-09) */ 311 { 0x0000, 0x0000, 0, 0, }, 312 }; 313 314 struct pci_pcibridge pci_pcibridge[]= 315 { 316 #if 0 317 { 0x8086, 0x1A31, PCI_PCIB_INTEL, }, /* Intel 82845B/A AGP Bridge */ 318 { 0x8086, 0x2448, PCI_PCIB_INTEL, }, /* Intel 82801 Mobile */ 319 { 0x8086, 0x244e, PCI_PCIB_INTEL, }, /* Intel 82801 PCI Bridge */ 320 { 0x8086, 0x2561, PCI_PCIB_INTEL, }, /* Intel 82845 AGP Bridge */ 321 { 0x8086, 0x7191, PCI_PCIB_INTEL, }, /* Intel 82443BX (AGP bridge) */ 322 { 0x1022, 0x700D, PCI_PCIB_INTEL, }, /* AMD-762 (AGP 4x) */ 323 { 0x10B9, 0x5243, PCI_PCIB_INTEL, }, /* ALI M5243 */ 324 { 0x1106, 0x8305, PCI_AGPB_VIA, }, /* VIA VT8365 [KM133 AGP] */ 325 { 0x1106, 0xB188, PCI_AGPB_VIA, }, /* VT8237 PCI bridge */ 326 #endif 327 { 0x0000, 0x0000, 0, }, 328 }; 329 330 /* 331 * $PchId: pci_table.c,v 1.7 2003/09/05 10:53:22 philip Exp $ 332 */ 333