files.pci revision 1.153
1#	$NetBSD: files.pci,v 1.153 2002/01/01 21:51:40 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: radio
155attach	mr at pci
156file	dev/pci/maxiradio.c		mr
157
158# MediaForte SoundForte SF64-PCR Radio card
159#device	sf4r: radio, 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
234
235# Brooktree Bt848 video capture
236device	bktr: pcibus
237attach	bktr at pci
238file	dev/pci/bktr/bktr_audio.c	bktr
239file	dev/pci/bktr/bktr_card.c	bktr
240file	dev/pci/bktr/bktr_core.c	bktr
241file	dev/pci/bktr/bktr_os.c		bktr			needs-flag
242file	dev/pci/bktr/bktr_tuner.c	bktr
243
244# Cirrus Logic CrystalClear PCI Audio CS4280
245device	clcs: audio, auconv, mulaw, ac97, midibus
246attach	clcs at pci
247file	dev/pci/cs4280.c		clcs
248
249# Cirrus Logic CrystalClear PCI Audio CS4281
250device	clct: audio, auconv, mulaw, ac97
251attach	clct at pci
252file	dev/pci/cs4281.c		clct
253
254# Shared code for Cirrus Logic CrystalClear PCI Audio CS4280 and CS4281
255file	dev/pci/cs428x.c		clcs | clct
256
257# Forte Media FM801
258device	fms { }: audio, auconv, mulaw, ac97, midibus
259attach	fms at pci
260file	dev/pci/fms.c			fms
261
262attach	opl at fms with opl_fms
263file	dev/pci/opl_fms.c		opl_fms
264
265attach	mpu at fms with mpu_fms
266file	dev/pci/mpu_fms.c		mpu_fms
267
268# Ensoniq AudioPCI S5016
269device	eap: audio, auconv, mulaw, ac97, midibus
270attach	eap at pci
271file	dev/pci/eap.c			eap
272
273# Intel ICH AC'97 audio
274device	auich: audio, auconv, mulaw, ac97
275attach	auich at pci
276file	dev/pci/auich.c			auich
277
278# VIA VT82C686A AC'97 Audio
279device	auvia: audio, auconv, mulaw, ac97
280attach	auvia at pci
281file	dev/pci/auvia.c			auvia
282
283# NeoMagic 256 AC'97 Audio
284device	neo: audio, auconv, mulaw, ac97
285attach	neo at pci
286file	dev/pci/neo.c			neo
287
288# ESS Solo-1 PCI AudioDrive
289device	eso { }: audio, auconv, mulaw, midibus
290attach	eso at pci
291file	dev/pci/eso.c			eso
292
293attach	opl at eso with opl_eso
294file	dev/pci/opl_eso.c		opl_eso
295
296attach	mpu at eso with mpu_eso
297file	dev/pci/mpu_eso.c		mpu_eso
298
299# ESS Maestro-1/2/2e PCI AC97 Audio Accelerator
300device	esm: audio, auconv, mulaw, ac97
301attach	esm at pci
302file	dev/pci/esm.c			esm
303
304# S3 SonicVibes (S3 617)
305device	sv { }: audio, auconv, mulaw, midibus
306attach	sv at pci
307file	dev/pci/sv.c			sv
308
309attach	opl at sv with opl_sv
310file	dev/pci/opl_sv.c		opl_sv
311
312# C-Media CMI8x38 Audio Chip
313device	cmpci { }: audio, auconv, mulaw
314attach	cmpci at pci
315file	dev/pci/cmpci.c			cmpci
316
317attach	opl at cmpci with opl_cmpci
318file	dev/pci/opl_cmpci.c		opl_cmpci
319
320attach	mpu at cmpci with mpu_cmpci
321file	dev/pci/mpu_cmpci.c		mpu_cmpci
322
323# Yamaha YMF724/740/744/754 PCI audio controller
324device	yds { }: audio, auconv, mulaw, ac97
325attach	yds at pci
326file	dev/pci/yds.c			yds
327
328attach	opl at yds with opl_yds
329file	dev/pci/opl_yds.c		opl_yds
330
331attach	mpu at yds with mpu_yds
332file	dev/pci/mpu_yds.c		mpu_yds
333
334# Creative Labs EMU10k1 (SBLive! series and PCI512)
335device	emuxki: audio, auconv, mulaw, ac97
336attach	emuxki at pci
337file	dev/pci/emuxki.c		emuxki
338
339# Trident 4DWAVE AC'97 audio (including SiS 7018,ALi M5451)
340device	autri: audio, auconv, mulaw, ac97, midibus
341attach	autri at pci
342file	dev/pci/autri.c			autri
343
344# SMC EPIC/100 Fast Ethernet on PCI
345attach	epic at pci with epic_pci
346file	dev/pci/if_epic_pci.c		epic_pci
347
348# PCI "universal" communication device driver, for PCI com, lpt, etc. ports
349# (see documentation in the driver for what, exactly, should be supported)
350device	puc { port = -1 }
351attach	puc at pci
352file	dev/pci/puc.c			puc
353file	dev/pci/pucdata.c		puc
354
355attach	com at puc with com_puc
356file	dev/pci/com_puc.c		com_puc
357
358# Console device support for puc drivers
359defflag	opt_puccn.h	PUCCN
360file	dev/pci/puccn.c			puccn
361
362# XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT
363# XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files.
364# XXX (when the conf/files and files.isa bogons are fixed, this can
365# XXX be fixed as well.)
366
367# attach	lpt at puc with lpt_puc
368# file	dev/pci/lpt_puc.c		lpt_puc
369
370# UHCI USB controller
371attach	uhci at pci with uhci_pci
372file	dev/pci/uhci_pci.c		uhci_pci
373
374# OHCI USB controller
375attach	ohci at pci with ohci_pci
376file	dev/pci/ohci_pci.c		ohci_pci
377
378# EHCI USB controller
379attach	ehci at pci with ehci_pci
380file	dev/pci/ehci_pci.c		ehci_pci
381
382# OHCI IEEE 1394 controller
383attach	fwohci at pci with fwohci_pci
384file	dev/pci/fwohci_pci.c		fwohci_pci
385
386# IEEE 1394 TI "Lynx" controller
387attach	fwlynx at pci with fwlynx_pci
388file	dev/pci/fwlynx_pci.c		fwlynx_pci
389
390# VIA Rhine/Rhine II Fast Ethernet controllers
391device	vr: ether, ifnet, arp, mii, mii_bitbang
392attach	vr at pci
393file	dev/pci/if_vr.c			vr
394
395# SiS 900 Fast Ethernet controllers
396device	sip: ether, ifnet, arp, mii
397attach	sip at pci
398file	dev/pci/if_sip.c		sip
399
400# National Semiconductor DP83820 Gigabit Ethernet
401device	gsip: ether, ifnet, arp, mii, mii_bitbang
402attach	gsip at pci
403file	dev/pci/if_gsip.c		gsip
404
405# Level One LXT-1001 Gigabit Ethernet
406device	glxt: ether, ifnet, arp, mii
407attach	glxt at pci
408file	dev/pci/if_glxt.c		glxt
409
410# Sundance Tech./Tamarack TC9021 Gigabit Ethernet
411device	stge: ether, ifnet, arp, mii, mii_bitbang
412attach	stge at pci
413file	dev/pci/if_stge.c		stge
414
415# SysKonnect SKNET-GE Gigabit Ethernet  
416device	skgec { port = -1 }
417attach	skgec at pci
418file	dev/pci/if_skge.c		skgec
419
420device	skge: ether, ifnet, arp, mii
421attach	skge at skgec   
422
423# Intel i8254x Gigabit Ethernet
424device	wm: ether, ifnet, arp, mii, mii_bitbang
425attach	wm at pci
426file	dev/pci/if_wm.c			wm
427
428# Realtek 8129/8139 Ethernet controllers
429attach	rtk at pci with rtk_pci
430file	dev/pci/if_rtk_pci.c		rtk_pci
431
432# DECchip 21x4x Ethernet controller family, and assorted clones.
433attach	tlp at pci with tlp_pci
434defflag	opt_tlp.h	TLP_MATCH_21040 TLP_MATCH_21041
435			TLP_MATCH_21140 TLP_MATCH_21142
436
437file	dev/pci/if_tlp_pci.c		tlp_pci
438
439# Bit3 PCI-VME mod. 617
440device	btvmei: vmebus
441attach	btvmei at pci
442file	dev/pci/btvmei.c		btvmei
443#file	dev/pci/btvmei_dma.c		btvmei
444#file	dev/pci/btvmei_cntlrdma.c	btvmei
445
446# Alteon ACEnic Gigabit Ethernet controller
447device	ti: ether, ifnet, arp
448attach	ti at pci
449file	dev/pci/if_ti.c			ti
450
451# Adaptec AIC-6915 Ethernet interface
452attach	sf at pci with sf_pci
453file	dev/pci/if_sf_pci.c		sf_pci
454
455# Sundance Tech. ST-201 10/100 Ethernet
456device	ste: ether, ifnet, arp, mii, mii_bitbang
457attach	ste at pci
458file	dev/pci/if_ste.c		ste
459
460# YENTA PCI-Cardbus bridge 
461#device	cbb: cbbus, pcmciabus
462device	cbb: pcmciaslot
463attach	cbb at pci with cbb_pci
464file	dev/pci/pccbb.c			cbb
465
466# Tundra Universe PCI-VME adapter
467define	univ_pci
468file	dev/pci/universe_pci.c univ_pci
469
470# Bit3 PCI-VME mod. 2706
471device	btvmeii: vmebus, univ_pci
472attach	btvmeii at pci
473file	dev/pci/btvmeii.c btvmeii
474
475# VT86C686A power management
476device	viapm {}
477attach	viapm at pci
478file	dev/pci/viapm.c	viapm
479
480# hardware monitoring part of viapm
481device	viaenv: sysmon_envsys
482attach	viaenv at viapm
483file	dev/pci/viaenv.c		viaenv			needs-flag
484
485# Hi/fn 7751 
486device	hifn {}
487attach	hifn at pci
488file	dev/pci/hifn7751.c		hifn
489
490# Aironet PC4500/PC4800
491attach	an at pci with an_pci
492file	dev/pci/if_an_pci.c		an_pci
493
494# Intersil Prism2.5 Mini-PCI
495attach	wi at pci with wi_pci
496file	dev/pci/if_wi_pci.c		wi_pci
497
498# ISDN devices
499attach	isic at pci with isic_pci
500file	dev/pci/isic_pci.c		isic_pci
501
502defflag	opt_isicpci.h	ISICPCI_ELSA_QS1PCI ISICPCI_AVM_A1
503
504file	dev/pci/isic_pci_elsa_qs1p.c	isic_pci
505file	dev/pci/isic_pci_avm_fritz_pci.c isic_pci
506
507# IrDA devices
508#  Toshiba Fast Infrared Type O IrDA driver
509device oboe: irbus, irdasir
510attach oboe at pci
511file	dev/pci/oboe.c			oboe
512
513# Middle Digital, Inc. PCI-Weasel serial console board control
514# devices (watchdog timer, etc.)
515device	weasel: sysmon_wdog
516attach	weasel at pci with weasel_pci
517file	dev/pci/weasel_pci.c		weasel
518