1# $NetBSD: files.pci,v 1.160 2002/01/09 22:56:22 augustss Exp $ 2# 3# Config file and device description for machine-independent PCI code. 4# Included by ports that need it. Requires that the SCSI files be 5# defined first. 6 7defflag opt_pci.h PCIVERBOSE PCI_CONFIG_DUMP PCI_NETBSD_CONFIGURE 8defparam opt_pci.h PCI_NETBSD_ENABLE_IDE 9 10defflag opt_bktr.h BKTR_430_FX_MODE BKTR_GPIO_ACCESS BKTR_NO_MSP_RESET 11 BKTR_REVERSE_MUTE BKTR_SIS_VIA_MODE BKTR_USE_PLL 12defparam opt_bktr.h BKTR_OVERRIDE_CARD BKTR_OVERRIDE_TUNER BKTR_OVERRIDE_DBX 13 BKTR_OVERRIDE_MSP BKTR_SYSTEM_DEFAULT 14 15defflag opt_pciide.h PCIIDE_CMD064x_DISABLE PCIIDE_AMD756_ENABLEDMA 16 PCIIDE_CMD0646U_ENABLEUDMA 17 18device pci {[dev = -1], [function = -1]} 19attach pci at pcibus 20file dev/pci/pci.c pci needs-flag 21file dev/pci/pci_map.c pci 22file dev/pci/pci_quirks.c pci 23file dev/pci/pci_subr.c pci 24file dev/pci/pci_usrreq.c pci 25file dev/pci/pciconf.c pci_netbsd_configure 26 27# Cypress 82c693 hyperCache(tm) Stand-Alone PCI Peripheral Controller 28# with USB. This is a combo chip: 29# 30# PCI-ISA bridge 31# PCI IDE controller 32# OHCI USB controller 33# 34# There are some common subroutines that each function needs. 35define cy82c693 36file dev/pci/cy82c693.c cy82c693 37 38# Adaptec 3940, 2940, and aic78[5678]0 SCSI controllers 39# device declaration in sys/conf/files 40attach ahc at pci with ahc_pci: ahc_seeprom, smc93cx6 41file dev/pci/ahc_pci.c ahc_pci 42 43# I2O adapters 44attach iop at pci with iop_pci 45file dev/pci/iop_pci.c iop_pci 46 47# 3ware RAID controllers 48device twe {unit = -1} 49attach twe at pci 50file dev/pci/twe.c twe 51 52attach ld at twe with ld_twe 53file dev/pci/ld_twe.c ld_twe 54 55# Compaq RAID controllers 56attach cac at pci with cac_pci 57file dev/pci/cac_pci.c cac_pci 58 59# Mylex DAC960 RAID controllers 60attach mlx at pci with mlx_pci 61file dev/pci/mlx_pci.c mlx_pci 62 63# Newer Mylex AcceleRAID and eXtremeRAID controllers 64device mly: scsi 65attach mly at pci 66file dev/pci/mly.c mly needs-flag 67 68# DPT EATA SCSI controllers 69attach dpt at pci with dpt_pci 70file dev/pci/dpt_pci.c dpt_pci 71 72# AdvanSys 1200A, 1200B, and ULTRA SCSI controllers 73# device declaration in sys/conf/files 74attach adv at pci with adv_pci 75file dev/pci/adv_pci.c adv_pci 76 77# AdvanSys ULTRA WIDE SCSI controllers 78# device declaration in sys/conf/files 79attach adw at pci with adw_pci 80file dev/pci/adw_pci.c adw_pci 81file dev/ic/adwlib.c adw_pci 82file dev/ic/adwmcode.c adw_pci 83 84# AMD Am53c974 PCscsi-PCI SCSI controllers 85device pcscp: scsi, ncr53c9x 86attach pcscp at pci 87file dev/pci/pcscp.c pcscp 88 89# BusLogic BT-9xx PCI family 90# device declaration in sys/conf/files 91attach bha at pci with bha_pci 92file dev/pci/bha_pci.c bha_pci 93 94# Qlogic ISP 10x0 (PCI) family 95# device declaration in sys/conf/files 96attach isp at pci with isp_pci 97file dev/pci/isp_pci.c isp_pci 98 99# Ethernet driver for DC21040-based boards 100device de: ether, ifnet, arp 101attach de at pci 102file dev/pci/if_de.c de 103 104# Efficient Networks, Inc. ATM interface 105# device declaration in sys/conf/files 106attach en at pci with en_pci 107file dev/pci/if_en_pci.c en_pci 108 109# 3Com 3c590 and 3c595 Ethernet controllers 110# device declaration in sys/conf/files 111attach ep at pci with ep_pci 112file dev/pci/if_ep_pci.c ep_pci 113 114# 3Com 3c90x[B] Ethernet controllers 115# device declaration in sys/conf/files 116attach ex at pci with ex_pci 117file dev/pci/if_ex_pci.c ex_pci 118 119# Digital DEFPA PCI FDDI Controller 120device fpa: pdq, fddi, ifnet, arp 121attach fpa at pci 122file dev/pci/if_fpa.c fpa 123 124# AMD am7990 (LANCE) -based Ethernet controllers 125# device declaration in sys/conf/files 126attach le at pci with le_pci: le32 127file dev/pci/if_le_pci.c le_pci 128 129# AMD PCnet-PCI Ethernet controller family 130# Supersedes if_le_pci.c 131device pcn: ether, ifnet, arp, mii 132attach pcn at pci 133file dev/pci/if_pcn.c pcn 134 135# common code for siop/esiop pci front end 136define siop_pci_common 137file dev/pci/siop_pci_common.c siop_pci_common 138 139# Symbios 53c8xx SCSI chips 140# device declaration in sys/conf/files 141attach siop at pci with siop_pci: siop_pci_common 142file dev/pci/siop_pci.c siop_pci 143 144# Initio INIC-940/950 SCSI controllers 145attach iha at pci with iha_pci 146file dev/pci/iha_pci.c iha_pci 147 148# Tekram DC-395U/UW/F and DC-315/U SCSI controllers 149device trm: scsi 150attach trm at pci 151file dev/pci/trm.c trm 152 153# Guillemot Maxi Radio FM 2000 Radio Card 154device mr: radiodev 155attach mr at pci 156file dev/pci/maxiradio.c mr 157 158# MediaForte SoundForte SF64-PCR Radio card 159#device sf4r: radiodev, tea5757 160#attach sf4r at pci 161#file dev/pci/sf64pcr.c sf4r 162 163# PCI IDE controllers 164device pciide {[channel = -1]}: cy82c693, wdc_base, ata, atapi 165attach pciide at pci 166file dev/pci/pciide.c pciide 167 168# PCI-PCI bridge chips 169device ppb: pcibus 170attach ppb at pci 171file dev/pci/ppb.c ppb 172 173# Cyclades Cyclom-8/16/32 174attach cy at pci with cy_pci 175file dev/pci/cy_pci.c cy_pci 176 177# Cyclades-Z series of intelligent multi-port serial adapters 178device cz 179attach cz at pci 180file dev/pci/cz.c cz needs-flag 181 182# Intel EtherExpress PRO 10/100B 183attach fxp at pci with fxp_pci 184file dev/pci/if_fxp_pci.c fxp_pci 185 186# Sun HME-network 187attach hme at pci with hme_pci 188file dev/pci/if_hme_pci.c hme_pci 189 190# Sun GEM-network 191attach gem at pci with gem_pci 192file dev/pci/if_gem_pci.c gem_pci 193 194# NE2000-compatible PCI Ethernet cards 195defparam opt_ipkdb.h IPKDB_NE_PCISLOT : IPKDB_NE_PCI 196defflag opt_ipkdb.h IPKDB_NE_PCI : IPKDB_NE IPKDB_NE_PCISLOT 197attach ne at pci with ne_pci: rtl80x9 198file dev/pci/if_ne_pci.c ne_pci | IPKDB_NE_PCI 199 200# Texas Instruments ThunderLAN Chip. 201device tl: ether, ifnet, arp, i2c, i2c_eeprom, mii, mii_bitbang 202attach tl at pci 203file dev/pci/if_tl.c tl 204 205# SDL Communications N2 PCI Network Interface 206# device declaration in sys/conf/files 207attach ntwoc at pci with ntwoc_pci 208file dev/pci/if_ntwoc_pci.c ntwoc_pci 209 210# Lan Media Corporation T1/HSSI/DS3 driver 211device lmc: ifnet, sppp 212attach lmc at pci 213file dev/pci/if_lmc.c lmc 214file dev/pci/if_lmc_common.c lmc 215file dev/pci/if_lmc_media.c lmc 216file dev/pci/if_lmc_nbsd.c lmc 217 218# Essential Communications HIPPI interface 219# device declaration in sys/conf/files 220attach esh at pci with esh_pci 221file dev/pci/if_esh_pci.c esh_pci 222 223# generic PCI VGA 224attach vga at pci with vga_pci 225file dev/pci/vga_pci.c vga_pci needs-flag 226 227# DEC TGA 228device tga: wsemuldisplaydev, rasops8, rasops32 229attach tga at pci 230file dev/pci/tga.c tga needs-flag 231file dev/pci/tga_conf.c tga 232file dev/ic/bt485.c tga 233file dev/ic/bt463.c tga 234file dev/ic/ibm561.c tga 235 236# Brooktree Bt848 video capture 237device bktr: pcibus, radiodev 238attach bktr at pci 239file dev/pci/bktr/bktr_audio.c bktr 240file dev/pci/bktr/bktr_card.c bktr 241file dev/pci/bktr/bktr_core.c bktr 242file dev/pci/bktr/bktr_os.c bktr needs-flag 243file dev/pci/bktr/bktr_tuner.c bktr 244 245# Cirrus Logic CrystalClear PCI Audio CS4280 246device clcs: audio, auconv, mulaw, ac97, midibus 247attach clcs at pci 248file dev/pci/cs4280.c clcs 249 250# Cirrus Logic CrystalClear PCI Audio CS4281 251device clct: audio, auconv, mulaw, ac97 252attach clct at pci 253file dev/pci/cs4281.c clct 254 255# Shared code for Cirrus Logic CrystalClear PCI Audio CS4280 and CS4281 256file dev/pci/cs428x.c clcs | clct 257 258# Forte Media FM801 259device fms { }: audio, auconv, mulaw, ac97, midibus 260attach fms at pci 261file dev/pci/fms.c fms 262 263attach opl at fms with opl_fms 264file dev/pci/opl_fms.c opl_fms 265 266attach mpu at fms with mpu_fms 267file dev/pci/mpu_fms.c mpu_fms 268 269# Ensoniq AudioPCI S5016 270device eap: audio, auconv, mulaw, ac97, midibus 271attach eap at pci 272file dev/pci/eap.c eap 273 274# Intel ICH AC'97 audio 275device auich: audio, auconv, mulaw, ac97 276attach auich at pci 277file dev/pci/auich.c auich 278 279# VIA VT82C686A AC'97 Audio 280device auvia: audio, auconv, mulaw, ac97 281attach auvia at pci 282file dev/pci/auvia.c auvia 283 284# NeoMagic 256 AC'97 Audio 285device neo: audio, auconv, mulaw, ac97 286attach neo at pci 287file dev/pci/neo.c neo 288 289# ESS Allegro-1 / Maestro3 290device esa: audio, auconv, mulaw, ac97 291attach esa at pci 292file dev/pci/esa.c esa 293 294# ESS Solo-1 PCI AudioDrive 295device eso { }: audio, auconv, mulaw, midibus 296attach eso at pci 297file dev/pci/eso.c eso 298 299attach opl at eso with opl_eso 300file dev/pci/opl_eso.c opl_eso 301 302attach mpu at eso with mpu_eso 303file dev/pci/mpu_eso.c mpu_eso 304 305# ESS Maestro-1/2/2e PCI AC97 Audio Accelerator 306device esm: audio, auconv, mulaw, ac97 307attach esm at pci 308file dev/pci/esm.c esm 309 310# S3 SonicVibes (S3 617) 311device sv { }: audio, auconv, mulaw, midibus 312attach sv at pci 313file dev/pci/sv.c sv 314 315attach opl at sv with opl_sv 316file dev/pci/opl_sv.c opl_sv 317 318# C-Media CMI8x38 Audio Chip 319device cmpci { }: audio, auconv, mulaw 320attach cmpci at pci 321file dev/pci/cmpci.c cmpci 322 323attach opl at cmpci with opl_cmpci 324file dev/pci/opl_cmpci.c opl_cmpci 325 326attach mpu at cmpci with mpu_cmpci 327file dev/pci/mpu_cmpci.c mpu_cmpci 328 329# Yamaha YMF724/740/744/754 PCI audio controller 330device yds { }: audio, auconv, mulaw, ac97 331attach yds at pci 332file dev/pci/yds.c yds 333 334attach opl at yds with opl_yds 335file dev/pci/opl_yds.c opl_yds 336 337attach mpu at yds with mpu_yds 338file dev/pci/mpu_yds.c mpu_yds 339 340# Creative Labs EMU10k1 (SBLive! series and PCI512) 341device emuxki: audio, auconv, mulaw, ac97 342attach emuxki at pci 343file dev/pci/emuxki.c emuxki 344 345# Trident 4DWAVE AC'97 audio (including SiS 7018,ALi M5451) 346device autri: audio, auconv, mulaw, ac97, midibus 347attach autri at pci 348file dev/pci/autri.c autri 349 350# SMC EPIC/100 Fast Ethernet on PCI 351attach epic at pci with epic_pci 352file dev/pci/if_epic_pci.c epic_pci 353 354# PCI "universal" communication device driver, for PCI com, lpt, etc. ports 355# (see documentation in the driver for what, exactly, should be supported) 356device puc { port = -1 } 357attach puc at pci 358file dev/pci/puc.c puc 359file dev/pci/pucdata.c puc 360 361attach com at puc with com_puc 362file dev/pci/com_puc.c com_puc 363 364# Console device support for puc drivers 365defflag opt_puccn.h PUCCN 366file dev/pci/puccn.c puccn 367 368# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT 369# XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files. 370# XXX (when the conf/files and files.isa bogons are fixed, this can 371# XXX be fixed as well.) 372 373# attach lpt at puc with lpt_puc 374# file dev/pci/lpt_puc.c lpt_puc 375 376# UHCI USB controller 377attach uhci at pci with uhci_pci 378file dev/pci/uhci_pci.c uhci_pci 379 380# OHCI USB controller 381attach ohci at pci with ohci_pci 382file dev/pci/ohci_pci.c ohci_pci 383 384# EHCI USB controller 385attach ehci at pci with ehci_pci 386file dev/pci/ehci_pci.c ehci_pci 387 388file dev/pci/usb_pci.c ehci_pci | ehci_cardbus 389 390# OHCI IEEE 1394 controller 391attach fwohci at pci with fwohci_pci 392file dev/pci/fwohci_pci.c fwohci_pci 393 394# IEEE 1394 TI "Lynx" controller 395attach fwlynx at pci with fwlynx_pci 396file dev/pci/fwlynx_pci.c fwlynx_pci 397 398# VIA Rhine/Rhine II Fast Ethernet controllers 399device vr: ether, ifnet, arp, mii, mii_bitbang 400attach vr at pci 401file dev/pci/if_vr.c vr 402 403# SiS 900 Fast Ethernet controllers 404device sip: ether, ifnet, arp, mii 405attach sip at pci 406file dev/pci/if_sip.c sip 407 408# National Semiconductor DP83820 Gigabit Ethernet 409device gsip: ether, ifnet, arp, mii, mii_bitbang 410attach gsip at pci 411file dev/pci/if_gsip.c gsip 412 413# Level One LXT-1001 Gigabit Ethernet 414device glxt: ether, ifnet, arp, mii 415attach glxt at pci 416file dev/pci/if_glxt.c glxt 417 418# Sundance Tech./Tamarack TC9021 Gigabit Ethernet 419device stge: ether, ifnet, arp, mii, mii_bitbang 420attach stge at pci 421file dev/pci/if_stge.c stge 422 423# SysKonnect SKNET-GE Gigabit Ethernet 424device skgec { port = -1 } 425attach skgec at pci 426file dev/pci/if_skge.c skgec 427 428device skge: ether, ifnet, arp, mii 429attach skge at skgec 430 431# Intel i8254x Gigabit Ethernet 432device wm: ether, ifnet, arp, mii, mii_bitbang 433attach wm at pci 434file dev/pci/if_wm.c wm 435 436# Realtek 8129/8139 Ethernet controllers 437attach rtk at pci with rtk_pci 438file dev/pci/if_rtk_pci.c rtk_pci 439 440# DECchip 21x4x Ethernet controller family, and assorted clones. 441attach tlp at pci with tlp_pci 442defflag opt_tlp.h TLP_MATCH_21040 TLP_MATCH_21041 443 TLP_MATCH_21140 TLP_MATCH_21142 444 445file dev/pci/if_tlp_pci.c tlp_pci 446 447# Bit3 PCI-VME mod. 617 448device btvmei: vmebus 449attach btvmei at pci 450file dev/pci/btvmei.c btvmei 451#file dev/pci/btvmei_dma.c btvmei 452#file dev/pci/btvmei_cntlrdma.c btvmei 453 454# Alteon ACEnic Gigabit Ethernet controller 455device ti: ether, ifnet, arp 456attach ti at pci 457file dev/pci/if_ti.c ti 458 459# Adaptec AIC-6915 Ethernet interface 460attach sf at pci with sf_pci 461file dev/pci/if_sf_pci.c sf_pci 462 463# Sundance Tech. ST-201 10/100 Ethernet 464device ste: ether, ifnet, arp, mii, mii_bitbang 465attach ste at pci 466file dev/pci/if_ste.c ste 467 468# YENTA PCI-Cardbus bridge 469#device cbb: cbbus, pcmciabus 470device cbb: pcmciaslot 471attach cbb at pci with cbb_pci 472file dev/pci/pccbb.c cbb 473 474# Tundra Universe PCI-VME adapter 475define univ_pci 476file dev/pci/universe_pci.c univ_pci 477 478# Bit3 PCI-VME mod. 2706 479device btvmeii: vmebus, univ_pci 480attach btvmeii at pci 481file dev/pci/btvmeii.c btvmeii 482 483# VT86C686A power management 484device viapm {} 485attach viapm at pci 486file dev/pci/viapm.c viapm 487 488# hardware monitoring part of viapm 489device viaenv: sysmon_envsys 490attach viaenv at viapm 491file dev/pci/viaenv.c viaenv needs-flag 492 493# Hi/fn 7751 494device hifn {} 495attach hifn at pci 496file dev/pci/hifn7751.c hifn 497 498# Aironet PC4500/PC4800 499attach an at pci with an_pci 500file dev/pci/if_an_pci.c an_pci 501 502# Intersil Prism2.5 Mini-PCI 503attach wi at pci with wi_pci 504file dev/pci/if_wi_pci.c wi_pci 505 506# ISDN devices 507attach isic at pci with isic_pci 508file dev/pci/isic_pci.c isic_pci 509 510defflag opt_isicpci.h ISICPCI_ELSA_QS1PCI ISICPCI_AVM_A1 511 512file dev/pci/isic_pci_elsa_qs1p.c isic_pci 513file dev/pci/isic_pci_avm_fritz_pci.c isic_pci 514 515# IrDA devices 516# Toshiba Fast Infrared Type O IrDA driver 517device oboe: irbus, irdasir 518attach oboe at pci 519file dev/pci/oboe.c oboe 520 521# Middle Digital, Inc. PCI-Weasel serial console board control 522# devices (watchdog timer, etc.) 523device weasel: sysmon_wdog 524attach weasel at pci with weasel_pci 525file dev/pci/weasel_pci.c weasel 526