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