xref: /netbsd/sys/dev/pci/files.pci (revision c4a72b64)
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