1# $NetBSD: files.pci,v 1.184 2002/11/07 21:57:00 martin 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 & 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# AMI RAID controllers 56device amr {unit = -1} 57attach amr at pci 58file dev/pci/amr.c amr 59 60attach ld at amr with ld_amr 61file dev/pci/ld_amr.c ld_amr 62 63# Compaq RAID controllers 64attach cac at pci with cac_pci 65file dev/pci/cac_pci.c cac_pci 66 67# Mylex DAC960 RAID controllers 68attach mlx at pci with mlx_pci 69file dev/pci/mlx_pci.c mlx_pci 70 71# Newer Mylex AcceleRAID and eXtremeRAID controllers 72device mly: scsi 73attach mly at pci 74file dev/pci/mly.c mly needs-flag 75 76# Myson-Century Technology MTD803 3-in-1 Fast Ethernet Controller 77attach mtd at pci with mtd_pci 78file dev/pci/if_mtd_pci.c mtd_pci 79 80# ICP-Vortex/Intel RAID controllers 81attach icp at pci with icp_pci 82file dev/pci/icp_pci.c icp_pci 83 84# Adaptec FSA RAID controllers 85attach aac at pci with aac_pci 86file dev/pci/aac_pci.c aac_pci 87 88# DPT EATA SCSI controllers 89attach dpt at pci with dpt_pci 90file dev/pci/dpt_pci.c dpt_pci 91 92# AdvanSys 1200A, 1200B, and ULTRA SCSI controllers 93# device declaration in sys/conf/files 94attach adv at pci with adv_pci 95file dev/pci/adv_pci.c adv_pci 96 97# AdvanSys ULTRA WIDE SCSI controllers 98# device declaration in sys/conf/files 99attach adw at pci with adw_pci 100file dev/pci/adw_pci.c adw_pci 101file dev/ic/adwlib.c adw_pci 102file dev/ic/adwmcode.c adw_pci 103 104# AMD Am53c974 PCscsi-PCI SCSI controllers 105device pcscp: scsi, ncr53c9x 106attach pcscp at pci 107file dev/pci/pcscp.c pcscp 108 109# BusLogic BT-9xx PCI family 110# device declaration in sys/conf/files 111attach bha at pci with bha_pci 112file dev/pci/bha_pci.c bha_pci 113 114# Qlogic ISP 10x0 (PCI) family 115# device declaration in sys/conf/files 116attach isp at pci with isp_pci 117file dev/pci/isp_pci.c isp_pci 118 119# LSILogic Fusion-MPT I/O Processor family 120# device declaration in sys/conf/files 121attach lfmiop at pci with lfmiop_pci 122file dev/pci/lfmiop_pci.c lfmiop_pci 123 124# Ethernet driver for DC21040-based boards 125device de: ether, ifnet, arp 126attach de at pci 127file dev/pci/if_de.c de 128 129# Efficient Networks, Inc. ATM interface 130# device declaration in sys/conf/files 131attach en at pci with en_pci 132file dev/pci/if_en_pci.c en_pci 133 134# 3Com 3c590 and 3c595 Ethernet controllers 135# device declaration in sys/conf/files 136attach ep at pci with ep_pci 137file dev/pci/if_ep_pci.c ep_pci 138 139# 3Com 3c90x[B] Ethernet controllers 140# device declaration in sys/conf/files 141attach ex at pci with ex_pci 142file dev/pci/if_ex_pci.c ex_pci 143 144# Digital DEFPA PCI FDDI Controller 145device fpa: pdq, fddi, ifnet, arp 146attach fpa at pci 147file dev/pci/if_fpa.c fpa 148 149# AMD am7990 (LANCE) -based Ethernet controllers 150# device declaration in sys/conf/files 151attach le at pci with le_pci: le32 152file dev/pci/if_le_pci.c le_pci 153 154# AMD PCnet-PCI Ethernet controller family 155# Supersedes if_le_pci.c 156device pcn: ether, ifnet, arp, mii 157attach pcn at pci 158file dev/pci/if_pcn.c pcn 159 160# common code for siop/esiop pci front end 161define siop_pci_common 162file dev/pci/siop_pci_common.c siop_pci_common 163 164# Symbios 53c8xx SCSI chips 165# device declaration in sys/conf/files 166attach siop at pci with siop_pci: siop_pci_common 167file dev/pci/siop_pci.c siop_pci 168attach esiop at pci with esiop_pci: siop_pci_common 169file dev/pci/esiop_pci.c esiop_pci 170 171# Initio INIC-940/950 SCSI controllers 172attach iha at pci with iha_pci 173file dev/pci/iha_pci.c iha_pci 174 175# Tekram DC-395U/UW/F and DC-315/U SCSI controllers 176device trm: scsi 177attach trm at pci 178file dev/pci/trm.c trm 179 180# Guillemot Maxi Radio FM 2000 Radio Card 181device gtp: radiodev, tea5757 182attach gtp at pci 183file dev/pci/gtp.c gtp 184 185# MediaForte SoundForte SF64-PCR Radio card 186#device sf4r: radiodev, tea5757 187#attach sf4r at pci 188#file dev/pci/sf64pcr.c sf4r 189 190# PCI IDE controllers 191device pciide {[channel = -1]}: cy82c693, wdc_base, ata, atapi 192attach pciide at pci 193file dev/pci/pciide.c pciide 194 195# PCI-PCI bridge chips 196device ppb: pcibus 197attach ppb at pci 198file dev/pci/ppb.c ppb 199 200# Cyclades Cyclom-8/16/32 201attach cy at pci with cy_pci 202file dev/pci/cy_pci.c cy_pci 203 204# Cyclades-Z series of intelligent multi-port serial adapters 205device cz 206attach cz at pci 207file dev/pci/cz.c cz needs-flag 208 209# Intel EtherExpress PRO 10/100B 210attach fxp at pci with fxp_pci 211file dev/pci/if_fxp_pci.c fxp_pci 212 213# Sun HME-network 214attach hme at pci with hme_pci 215file dev/pci/if_hme_pci.c hme_pci 216 217# Sun GEM-network 218attach gem at pci with gem_pci 219file dev/pci/if_gem_pci.c gem_pci 220 221# NE2000-compatible PCI Ethernet cards 222defparam opt_ipkdb.h IPKDB_NE_PCISLOT 223defflag opt_ipkdb.h IPKDB_NE_PCI : IPKDB_NE 224attach ne at pci with ne_pci: rtl80x9 225file dev/pci/if_ne_pci.c ne_pci | ipkdb_ne_pci 226 227# Texas Instruments ThunderLAN Chip. 228device tl: ether, ifnet, arp, i2c, i2c_eeprom, mii, mii_bitbang 229attach tl at pci 230file dev/pci/if_tl.c tl 231 232# SDL Communications N2 PCI Network Interface 233# device declaration in sys/conf/files 234attach ntwoc at pci with ntwoc_pci 235file dev/pci/if_ntwoc_pci.c ntwoc_pci 236 237# Lan Media Corporation T1/HSSI/DS3 driver 238device lmc: ifnet, sppp 239attach lmc at pci 240file dev/pci/if_lmc.c lmc 241file dev/pci/if_lmc_common.c lmc 242file dev/pci/if_lmc_media.c lmc 243file dev/pci/if_lmc_nbsd.c lmc 244 245# Essential Communications HIPPI interface 246# device declaration in sys/conf/files 247attach esh at pci with esh_pci 248file dev/pci/if_esh_pci.c esh_pci 249 250# generic PCI VGA 251attach vga at pci with vga_pci 252file dev/pci/vga_pci.c vga_pci needs-flag 253 254# DEC TGA 255device tga: wsemuldisplaydev, rasops8, rasops32 256attach tga at pci 257file dev/pci/tga.c tga needs-flag 258file dev/pci/tga_conf.c tga 259file dev/ic/bt485.c tga 260file dev/ic/bt463.c tga 261file dev/ic/ibm561.c tga 262 263# Integraphics Systems IGA168x and CyberPro framebuffers (linear non-VGA mode) 264# device declaration in sys/conf/files 265attach igsfb at pci with igsfb_pci 266file dev/pci/igsfb_pci.c igsfb_pci 267 268# Brooktree Bt848 video capture 269device bktr: pcibus, radiodev 270attach bktr at pci 271file dev/pci/bktr/bktr_audio.c bktr 272file dev/pci/bktr/bktr_card.c bktr 273file dev/pci/bktr/bktr_core.c bktr 274file dev/pci/bktr/bktr_os.c bktr needs-flag 275file dev/pci/bktr/bktr_tuner.c bktr 276 277# Cirrus Logic CrystalClear PCI Audio CS4280 278device clcs: audiobus, auconv, mulaw, ac97, midibus 279attach clcs at pci 280file dev/pci/cs4280.c clcs 281 282# Cirrus Logic CrystalClear PCI Audio CS4281 283device clct: audiobus, auconv, mulaw, ac97 284attach clct at pci 285file dev/pci/cs4281.c clct 286 287# Shared code for Cirrus Logic CrystalClear PCI Audio CS4280 and CS4281 288file dev/pci/cs428x.c clcs | clct 289 290# Forte Media FM801 291device fms { }: audiobus, auconv, mulaw, ac97, midibus 292attach fms at pci 293file dev/pci/fms.c fms 294 295attach opl at fms with opl_fms 296file dev/pci/opl_fms.c opl_fms 297 298attach mpu at fms with mpu_fms 299file dev/pci/mpu_fms.c mpu_fms 300 301# Ensoniq AudioPCI S5016 302device eap: audiobus, auconv, mulaw, ac97, midibus 303attach eap at pci 304file dev/pci/eap.c eap 305 306# Avance Logic ALS4000 audio 307device als: audiobus, auconv, mulaw 308attach als at pci 309file dev/pci/als.c als 310 311# Intel ICH AC'97 audio 312device auich: audiobus, auconv, mulaw, ac97, aurateconv 313attach auich at pci 314file dev/pci/auich.c auich 315 316# VIA VT82C686A/VT8233/VT8235 AC'97 Audio 317device auvia: audiobus, auconv, mulaw, ac97, aurateconv 318attach auvia at pci 319file dev/pci/auvia.c auvia 320 321# NeoMagic 256 AC'97 Audio 322device neo: audiobus, auconv, mulaw, ac97 323attach neo at pci 324file dev/pci/neo.c neo 325 326# ESS Allegro-1 / Maestro3 327device esa: audiobus, auconv, mulaw, ac97 328attach esa at pci 329file dev/pci/esa.c esa 330 331# ESS Solo-1 PCI AudioDrive 332device eso { }: audiobus, auconv, mulaw, midibus 333attach eso at pci 334file dev/pci/eso.c eso 335 336attach opl at eso with opl_eso 337file dev/pci/opl_eso.c opl_eso 338 339attach mpu at eso with mpu_eso 340file dev/pci/mpu_eso.c mpu_eso 341 342attach joy at eso with joy_eso 343file dev/pci/joy_eso.c joy_eso 344 345# ESS Maestro-1/2/2e PCI AC97 Audio Accelerator 346device esm: audiobus, auconv, mulaw, ac97 347attach esm at pci 348file dev/pci/esm.c esm 349 350# S3 SonicVibes (S3 617) 351device sv { }: audiobus, auconv, mulaw, midibus 352attach sv at pci 353file dev/pci/sv.c sv 354 355attach opl at sv with opl_sv 356file dev/pci/opl_sv.c opl_sv 357 358# C-Media CMI8x38 Audio Chip 359device cmpci { }: audiobus, auconv, mulaw 360attach cmpci at pci 361file dev/pci/cmpci.c cmpci 362 363attach opl at cmpci with opl_cmpci 364file dev/pci/opl_cmpci.c opl_cmpci 365 366attach mpu at cmpci with mpu_cmpci 367file dev/pci/mpu_cmpci.c mpu_cmpci 368 369# Yamaha YMF724/740/744/754 PCI audio controller 370device yds { }: audiobus, auconv, mulaw, ac97 371attach yds at pci 372file dev/pci/yds.c yds 373 374attach opl at yds with opl_yds 375file dev/pci/opl_yds.c opl_yds 376 377attach mpu at yds with mpu_yds 378file dev/pci/mpu_yds.c mpu_yds 379 380# Creative Labs EMU10k1 (SBLive! series and PCI512) 381device emuxki: audiobus, auconv, mulaw, ac97 382attach emuxki at pci 383file dev/pci/emuxki.c emuxki 384 385# Trident 4DWAVE AC'97 audio (including SiS 7018,ALi M5451) 386device autri: audiobus, auconv, mulaw, ac97, midibus 387attach autri at pci 388file dev/pci/autri.c autri 389 390# SMC EPIC/100 Fast Ethernet on PCI 391attach epic at pci with epic_pci 392file dev/pci/if_epic_pci.c epic_pci 393 394# PCI "universal" communication device driver, for PCI com, lpt, etc. ports 395# (see documentation in the driver for what, exactly, should be supported) 396device puc { port = -1 } 397attach puc at pci 398file dev/pci/puc.c puc 399file dev/pci/pucdata.c puc 400 401attach com at puc with com_puc 402file dev/pci/com_puc.c com_puc 403 404# Console device support for puc drivers 405defflag opt_puccn.h PUCCN 406file dev/pci/puccn.c puccn 407 408# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT 409# XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files. 410# XXX (when the conf/files and files.isa bogons are fixed, this can 411# XXX be fixed as well.) 412 413# attach lpt at puc with lpt_puc 414# file dev/pci/lpt_puc.c lpt_puc 415 416# UHCI USB controller 417attach uhci at pci with uhci_pci 418file dev/pci/uhci_pci.c uhci_pci 419 420# OHCI USB controller 421attach ohci at pci with ohci_pci 422file dev/pci/ohci_pci.c ohci_pci 423 424# EHCI USB controller 425attach ehci at pci with ehci_pci 426file dev/pci/ehci_pci.c ehci_pci 427 428file dev/pci/usb_pci.c ehci_pci | ehci_cardbus 429 430# OHCI IEEE 1394 controller 431attach fwohci at pci with fwohci_pci 432file dev/pci/fwohci_pci.c fwohci_pci 433 434# IEEE 1394 TI "Lynx" controller 435attach fwlynx at pci with fwlynx_pci 436file dev/pci/fwlynx_pci.c fwlynx_pci 437 438# VIA Rhine/Rhine II Fast Ethernet controllers 439device vr: ether, ifnet, arp, mii, mii_bitbang 440attach vr at pci 441file dev/pci/if_vr.c vr 442 443# SiS 900 Fast Ethernet controllers 444device sip: ether, ifnet, arp, mii 445attach sip at pci 446file dev/pci/if_sip.c sip 447 448# National Semiconductor DP83820 Gigabit Ethernet 449device gsip: ether, ifnet, arp, mii, mii_bitbang 450attach gsip at pci 451file dev/pci/if_gsip.c gsip 452 453# Level One LXT-1001 Gigabit Ethernet 454device glxt: ether, ifnet, arp, mii 455attach glxt at pci 456file dev/pci/if_glxt.c glxt 457 458# Sundance Tech./Tamarack TC9021 Gigabit Ethernet 459device stge: ether, ifnet, arp, mii, mii_bitbang 460attach stge at pci 461file dev/pci/if_stge.c stge 462 463# SysKonnect SKNET-GE Gigabit Ethernet 464device skgec { port = -1 } 465attach skgec at pci 466file dev/pci/if_skge.c skgec 467 468device skge: ether, ifnet, arp, mii 469attach skge at skgec 470 471# Intel i8254x Gigabit Ethernet 472device wm: ether, ifnet, arp, mii, mii_bitbang 473attach wm at pci 474file dev/pci/if_wm.c wm 475 476# Broadcom 570x Gigabit Ethernet 477device bge: ether, ifnet, arp, mii, mii_bitbang 478attach bge at pci 479file dev/pci/if_bge.c bge 480 481# Realtek 8129/8139 Ethernet controllers 482attach rtk at pci with rtk_pci 483file dev/pci/if_rtk_pci.c rtk_pci 484 485# DECchip 21x4x Ethernet controller family, and assorted clones. 486attach tlp at pci with tlp_pci 487file dev/pci/if_tlp_pci.c tlp_pci 488 489# Bit3 PCI-VME mod. 617 490device btvmei: vmebus 491attach btvmei at pci 492file dev/pci/btvmei.c btvmei 493#file dev/pci/btvmei_dma.c btvmei 494#file dev/pci/btvmei_cntlrdma.c btvmei 495 496# Alteon ACEnic Gigabit Ethernet controller 497device ti: ether, ifnet, arp 498attach ti at pci 499file dev/pci/if_ti.c ti 500 501# Adaptec AIC-6915 Ethernet interface 502attach sf at pci with sf_pci 503file dev/pci/if_sf_pci.c sf_pci 504 505# Sundance Tech. ST-201 10/100 Ethernet 506device ste: ether, ifnet, arp, mii, mii_bitbang 507attach ste at pci 508file dev/pci/if_ste.c ste 509 510# YENTA PCI-Cardbus bridge 511#device cbb: cbbus, pcmciabus 512device cbb: pcmciaslot 513attach cbb at pci with cbb_pci 514file dev/pci/pccbb.c cbb 515 516# Tundra Universe PCI-VME adapter 517define univ_pci 518file dev/pci/universe_pci.c univ_pci 519 520# Bit3 PCI-VME mod. 2706 521device btvmeii: vmebus, univ_pci 522attach btvmeii at pci 523file dev/pci/btvmeii.c btvmeii 524 525# VT86C686A power management 526device viapm {} 527attach viapm at pci 528file dev/pci/viapm.c viapm 529 530# hardware monitoring part of viapm 531device viaenv: sysmon_envsys 532attach viaenv at viapm 533file dev/pci/viaenv.c viaenv needs-flag 534 535# AMD 768MPX power management controller 536defflag opt_amdpm.h AMDPM_RND_COUNTERS 537device amdpm {} 538attach amdpm at pci 539file dev/pci/amdpm.c amdpm 540 541# Hi/fn 7751 542device hifn {} 543attach hifn at pci 544file dev/pci/hifn7751.c hifn 545 546# Aironet PC4500/PC4800 547attach an at pci with an_pci 548file dev/pci/if_an_pci.c an_pci 549 550# Intersil Prism2.5 Mini-PCI 551attach wi at pci with wi_pci 552file dev/pci/if_wi_pci.c wi_pci 553 554# ISDN devices 555attach isic at pci with isic_pci 556file dev/pci/isic_pci.c isic_pci 557 558file dev/pci/isic_pci_elsa_qs1p.c isic_pci 559 560device ifpci: isdndev, passive_isdn, nisac 561attach ifpci at pci 562file dev/pci/ifpci.c ifpci 563 564device ifritz: isdndev, passive_isdn, nisacsx 565attach ifritz at pci 566file dev/pci/ifpci2.c ifritz 567 568# Winbond W6692 569device iwic: isdndev, passive_isdn 570attach iwic at pci with iwic_pci 571file dev/pci/iwic_pci.c iwic 572file dev/pci/iwic_bchan.c iwic 573file dev/pci/iwic_dchan.c iwic 574file dev/pci/iwic_fsm.c iwic 575 576# IrDA devices 577# Toshiba Fast Infrared Type O IrDA driver 578device oboe: irbus, irdasir 579attach oboe at pci 580file dev/pci/oboe.c oboe 581 582# Middle Digital, Inc. PCI-Weasel serial console board control 583# devices (watchdog timer, etc.) 584device weasel: sysmon_wdog 585attach weasel at pci with weasel_pci 586file dev/pci/weasel_pci.c weasel 587 588# Game adapter (joystick) 589attach joy at pci with joy_pci 590file dev/pci/joy_pci.c joy_pci 591 592# ATI Mach64 framebuffer console driver 593device machfb: wsemuldisplaydev, rasops8 594attach machfb at pci 595file dev/pci/machfb.c machfb 596