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