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