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