files.pci revision 1.392
1#	$NetBSD: files.pci,v 1.392 2017/12/03 14:26:38 jdolecek 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 PCIIDE_I31244_DISABLEDMA
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_stub.c		pci
25file	dev/pci/pci_usrreq.c		pci
26file	dev/pci/pciconf.c		pci & pci_netbsd_configure
27
28file	dev/pci/pcibusprint.c		pcibus
29
30file	dev/pci/pci_verbose.c		pci & pciverbose
31
32file	dev/pci/wsdisplay_pci.c		wsdisplay & pci
33
34# Cypress 82c693 hyperCache(tm) Stand-Alone PCI Peripheral Controller
35# with USB.  This is a combo chip:
36#
37#	PCI-ISA bridge
38#	PCI IDE controller
39#	OHCI USB controller
40#
41# There are some common subroutines that each function needs.
42define	cy82c693
43file	dev/pci/cy82c693.c		cy82c693
44
45# Adaptec 3940, 2940, and aic78[5678]0 SCSI controllers
46# device declaration in sys/conf/files
47attach	ahc at pci with ahc_pci: ahc_seeprom, smc93cx6
48file	dev/pci/ahc_pci.c		ahc_pci
49
50attach	ahd at pci with ahd_pci
51file	dev/pci/ahd_pci.c		ahd_pci
52
53# I2O adapters
54attach	iop at pci with iop_pci
55file	dev/pci/iop_pci.c		iop_pci
56
57# 3ware RAID controllers
58device	twe {unit = -1}
59attach	twe at pci
60file	dev/pci/twe.c			twe
61
62attach	ld at twe with ld_twe
63file	dev/pci/ld_twe.c		ld_twe
64
65device	twa {unit = -1}
66attach	twa at pci
67file	dev/pci/twa.c			twa
68
69attach	ld at twa with ld_twa
70file	dev/pci/ld_twa.c		ld_twa
71
72# AMI RAID controllers
73device	amr {unit = -1}
74attach	amr at pci
75file	dev/pci/amr.c			amr
76
77attach	ld at amr with ld_amr
78file	dev/pci/ld_amr.c		ld_amr
79
80# Areca SATA RAID Controllers
81device	arcmsr: scsi, sysmon_envsys
82attach	arcmsr at pci
83file	dev/pci/arcmsr.c		arcmsr
84
85# Compaq RAID controllers
86attach	cac at pci with cac_pci
87file	dev/pci/cac_pci.c		cac_pci
88
89# Mylex DAC960 RAID controllers
90attach	mlx at pci with mlx_pci
91file	dev/pci/mlx_pci.c		mlx_pci
92
93# Newer Mylex AcceleRAID and eXtremeRAID controllers
94device	mly: scsi
95attach	mly at pci
96file	dev/pci/mly.c			mly			needs-flag
97
98# Myson-Century Technology MTD803 3-in-1 Fast Ethernet Controller
99attach	mtd at pci with mtd_pci
100file	dev/pci/if_mtd_pci.c		mtd_pci
101
102# ICP-Vortex/Intel RAID controllers
103attach	icp at pci with icp_pci
104file	dev/pci/icp_pci.c		icp_pci
105
106# Adaptec FSA RAID controllers
107attach	aac at pci with aac_pci
108file	dev/pci/aac_pci.c		aac_pci
109
110# IBM ServeRAID RAID controllers
111device  ips: scsi
112attach  ips at pci
113file    dev/pci/ips.c                   ips
114
115# DPT EATA SCSI controllers
116attach	dpt at pci with dpt_pci
117file	dev/pci/dpt_pci.c		dpt_pci
118
119# AdvanSys 1200A, 1200B, and ULTRA SCSI controllers
120# device declaration in sys/conf/files
121attach	adv at pci with adv_pci
122file	dev/pci/adv_pci.c		adv_pci
123
124# AdvanSys ULTRA WIDE SCSI controllers
125# device declaration in sys/conf/files
126attach	adw at pci with adw_pci
127file	dev/pci/adw_pci.c		adw_pci
128file	dev/ic/adwlib.c			adw_pci
129file	dev/ic/adwmcode.c		adw_pci
130
131# AMD Am53c974 PCscsi-PCI SCSI controllers
132device	pcscp: scsi, ncr53c9x
133attach	pcscp at pci
134file	dev/pci/pcscp.c			pcscp
135
136# HP/Compaq Command Interface to Scsi-3
137attach ciss at pci with ciss_pci
138file	dev/pci/ciss_pci.c		ciss_pci
139
140# BusLogic BT-9xx PCI family
141# device declaration in sys/conf/files
142attach	bha at pci with bha_pci
143file	dev/pci/bha_pci.c		bha_pci
144
145# Qlogic ISP 10x0 (PCI) family
146# device declaration in sys/conf/files
147attach	isp at pci with isp_pci
148file	dev/pci/isp_pci.c		isp_pci
149
150# LSILogic MegaRAID SAS
151# device declaration in sys/conf/files
152attach	mfi at pci with mfi_pci
153file	dev/pci/mfi_pci.c		mfi_pci
154
155# LSILogic Fusion-MPT I/O Processor family
156# device declaration in sys/conf/files
157attach	mpt at pci with mpt_pci
158file	dev/pci/mpt_pci.c		mpt_pci
159
160# LSI Logic Fusion-MPT Message Passing Interface 2.0
161device	mpii: scsi
162attach	mpii at pci
163file	dev/pci/mpii.c			mpii
164
165# Ethernet driver for DC21040-based boards
166device	de: ether, ifnet, arp
167attach	de at pci
168file	dev/pci/if_de.c			de
169
170# Efficient Networks, Inc. ATM interface
171# device declaration in sys/conf/files
172attach	en at pci with en_pci
173file	dev/pci/if_en_pci.c		en_pci
174
175# 3Com 3c590 and 3c595 Ethernet controllers
176# device declaration in sys/conf/files
177attach	ep at pci with ep_pci
178file	dev/pci/if_ep_pci.c		ep_pci
179
180# 3Com 3c90x[B] Ethernet controllers
181# device declaration in sys/conf/files
182attach	ex at pci with ex_pci
183file	dev/pci/if_ex_pci.c		ex_pci
184
185# Digital DEFPA PCI FDDI Controller
186device	fpa: pdq, fddi, ifnet, arp
187attach	fpa at pci
188file	dev/pci/if_fpa.c		fpa
189
190# AMD am7990 (LANCE) -based Ethernet controllers
191# device declaration in sys/conf/files
192attach	le at pci with le_pci: le32
193file	dev/pci/if_le_pci.c		le_pci
194
195# AMD PCnet-PCI Ethernet controller family
196# Supersedes if_le_pci.c
197device	pcn: ether, ifnet, arp, mii
198attach	pcn at pci
199file	dev/pci/if_pcn.c		pcn
200
201# common code for siop/esiop pci front end
202define	siop_pci_common
203file	dev/pci/siop_pci_common.c	siop_pci_common
204
205# Symbios 53c8xx SCSI chips
206# device declaration in sys/conf/files
207attach	siop at pci with siop_pci: siop_pci_common
208file	dev/pci/siop_pci.c		siop_pci
209attach	esiop at pci with esiop_pci: siop_pci_common
210file	dev/pci/esiop_pci.c		esiop_pci
211
212# Initio INIC-940/950 SCSI controllers
213attach	iha at pci with iha_pci
214file	dev/pci/iha_pci.c		iha_pci
215
216# Tekram DC-395U/UW/F and DC-315/U SCSI controllers
217device	trm: scsi
218attach	trm at pci
219file	dev/pci/trm.c			trm
220
221# Guillemot Maxi Radio FM 2000 Radio Card
222device	gtp: radiodev, tea5757
223attach	gtp at pci
224file	dev/pci/gtp.c			gtp
225
226# MediaForte SoundForte SF64-PCR Radio card
227#device	sf4r: radiodev, tea5757
228#attach	sf4r at pci
229#file	dev/pci/sf64pcr.c		sf4r
230
231# PCI IDE controllers
232define pciide_common
233file dev/pci/pciide_common.c pciide_common
234
235device	pciide: ata, pciide_common, wdc_common
236attach	pciide at pci
237file	dev/pci/pciide.c		pciide
238
239# AHCI SATA controllers
240attach	ahcisata at pci with ahcisata_pci
241file	dev/pci/ahcisata_pci.c		ahcisata_pci
242
243# Acard IDE controllers
244device	acardide: ata, ata_dma, ata_udma, pciide_common, wdc_common
245attach	acardide at pci
246file	dev/pci/acardide.c		acardide
247
248# Acer Lab IDE controllers
249device	aceride: ata, ata_dma, ata_udma, pciide_common, wdc_common
250attach	aceride at pci
251file	dev/pci/aceride.c		aceride
252
253# Intel i31244 SATA controller
254device	artsata: ata, ata_dma, ata_udma, pciide_common, wdc_common, sata
255attach	artsata at pci
256file	dev/pci/artsata.c		artsata
257
258# CMD tech IDE controllers
259device	cmdide: ata, ata_dma, ata_udma, pciide_common, wdc_common
260attach	cmdide at pci
261file	dev/pci/cmdide.c		cmdide
262
263# Cypress IDE controllers
264device	cypide: ata, ata_dma, pciide_common, wdc_common, cy82c693
265attach	cypide at pci
266file	dev/pci/cypide.c		cypide
267
268# AMD Geode IDE controllers
269device	geodeide: ata, ata_dma, ata_udma, pciide_common, wdc_common
270attach	geodeide at pci
271file	dev/pci/geodeide.c		geodeide
272
273# Triones/HighPoint IDE controllers
274device	hptide: ata, ata_dma, ata_udma, pciide_common, wdc_common
275attach	hptide at pci
276file	dev/pci/hptide.c		hptide
277
278# Integrated Technology Express IDE controllers
279device	iteide: ata, ata_dma, ata_udma, pciide_common, wdc_common
280attach	iteide at pci
281file	dev/pci/iteide.c		iteide
282
283# Jmicron hybrid IDE/AHCI controllers
284define  jmide_hl { }
285device	jmide: ata, ata_dma, ata_udma, pciide_common, wdc_common, jmide_hl
286attach	jmide at pci
287attach	ahcisata at jmide_hl with jmahci
288file	dev/pci/jmide.c			jmide | jmahci needs-flag
289
290# National Semiconductor IDE controllers
291device	nside: ata, ata_dma, ata_udma, pciide_common, wdc_common
292attach	nside at pci
293file	dev/pci/nside.c			nside
294
295# Opti IDE controllers
296device	optiide: ata, ata_dma, pciide_common, wdc_common
297attach	optiide at pci
298file	dev/pci/optiide.c		optiide
299
300# Intel IDE controllers
301device	piixide: ata, ata_dma, ata_udma, pciide_common, wdc_common
302attach	piixide at pci
303file	dev/pci/piixide.c		piixide
304
305# Promise Serial ATA controllers
306device	pdcsata: ata, ata_dma, ata_udma, pciide_common, wdc_common, sata
307attach	pdcsata at pci
308file	dev/pci/pdcsata.c		pdcsata
309
310# Promise IDE controllers
311device	pdcide: ata, ata_dma, ata_udma, pciide_common, wdc_common
312attach	pdcide at pci
313file	dev/pci/pdcide.c		pdcide
314
315# ServerWorks IDE controllers
316device	rccide: ata, ata_dma, ata_udma, pciide_common, wdc_common
317attach	rccide at pci
318file	dev/pci/rccide.c		rccide
319
320# RDC IDE controllers
321device	rdcide: ata, ata_dma, ata_udma, pciide_common, wdc_common
322attach	rdcide at pci
323file	dev/pci/rdcide.c		rdcide
324
325# ServerWorks SATA controllers
326device	svwsata: ata, ata_dma, ata_udma, pciide_common, wdc_common, sata
327attach	svwsata at pci
328file	dev/pci/svwsata.c		svwsata
329
330# Silicon Image SATALink controllers
331device	satalink: ata, ata_dma, ata_udma, pciide_common, wdc_common, sata
332attach	satalink at pci
333file	dev/pci/satalink.c		satalink
334
335# Intel SCH IDE controllers
336device	schide: ata, ata_dma, ata_udma, pciide_common, wdc_common
337attach	schide at pci
338file	dev/pci/schide.c		schide
339
340# SiS IDE controllers
341device	siside: ata, ata_dma, ata_udma, pciide_common, wdc_common
342attach	siside at pci
343file	dev/pci/siside.c		siside
344
345# Symphony Labs IDE controllers
346device	slide: ata, ata_dma, pciide_common, wdc_common
347attach	slide at pci
348file	dev/pci/slide.c		slide
349
350# ServerWorks IDE controllers
351#device	swide: ata, ata_dma, ata_udma, pciide_common, wdc_common
352#attach	swide at pci
353#file	dev/pci/swide.c		swide
354
355# VIA/AMD/Nvidia IDE controllers
356device	viaide: ata, ata_dma, ata_udma, pciide_common, wdc_common, sata
357attach	viaide at pci
358file	dev/pci/viaide.c	viaide
359
360# STMicroelectronics STPC IDE controllers
361device	stpcide: ata, ata_dma, ata_udma, pciide_common, wdc_common
362attach	stpcide at pci
363file	dev/pci/stpcide.c	stpcide
364
365# ATI IXP IDE controllers
366device	ixpide: ata, ata_dma, ata_udma, pciide_common, wdc_common
367attach	ixpide at pci
368file	dev/pci/ixpide.c	ixpide
369
370# Toshiba PICCOLO IDE controllers
371device	toshide: ata, ata_dma, pciide_common, wdc_common
372attach	toshide at pci
373file	dev/pci/toshide.c	toshide
374
375# PCI-PCI bridge chips
376device	ppb: pcibus
377attach	ppb at pci
378file	dev/pci/ppb.c			ppb
379
380# Cyclades Cyclom-8/16/32
381attach	cy at pci with cy_pci
382file	dev/pci/cy_pci.c		cy_pci
383
384# Cyclades-Z series of intelligent multi-port serial adapters
385device	cz
386attach	cz at pci
387file	dev/pci/cz.c			cz			needs-flag
388
389# Intel EtherExpress PRO 10/100B
390attach	fxp at pci with fxp_pci
391file	dev/pci/if_fxp_pci.c		fxp_pci
392
393# Sun HME-network
394attach	hme at pci with hme_pci
395file	dev/pci/if_hme_pci.c		hme_pci
396
397# Sun GEM-network
398attach	gem at pci with gem_pci
399file	dev/pci/if_gem_pci.c		gem_pci
400
401# Sun Cassini-network
402device	cas: arp, ether, ifnet, mii
403attach	cas at pci
404file	dev/pci/if_cas.c		cas
405
406# JMicron JMC2[56]0 ethernet controllers
407device	jme: ether, ifnet, arp, mii
408attach	jme at pci
409file	dev/pci/if_jme.c		jme
410
411# NE2000-compatible PCI Ethernet cards
412defparam opt_ipkdb.h	IPKDB_NE_PCISLOT
413defflag	opt_ipkdb.h	IPKDB_NE_PCI		: IPKDB_NE
414attach	ne at pci with ne_pci: rtl80x9
415file	dev/pci/if_ne_pci.c		ne_pci | ipkdb_ne_pci
416
417# Texas Instruments ThunderLAN Chip.
418device	tl: ether, ifnet, arp, i2cexec, at24cxx_eeprom, i2c_bitbang,
419	    mii, mii_bitbang
420attach	tl at pci
421file	dev/pci/if_tl.c			tl
422
423# SDL Communications N2 PCI Network Interface
424# device declaration in sys/conf/files
425attach	ntwoc at pci with ntwoc_pci
426file	dev/pci/if_ntwoc_pci.c		ntwoc_pci
427
428# Lan Media Corporation T1/HSSI/DS3 driver
429device	lmc: ifnet, sppp
430attach	lmc at pci
431file	dev/pci/if_lmc.c		lmc
432
433# Essential Communications HIPPI interface
434# device declaration in sys/conf/files
435attach	esh at pci with esh_pci
436file	dev/pci/if_esh_pci.c		esh_pci
437
438# generic PCI VGA
439defflag	opt_vga.h	VGA_POST:	X86EMU
440attach	vga at pci with vga_pci
441file	dev/pci/vga_pci.c		vga_pci			needs-flag
442
443# DEC TGA
444device	tga: wsemuldisplaydev, rasops8, rasops32
445attach	tga at pci
446file	dev/pci/tga.c			tga			needs-flag
447file	dev/pci/tga_conf.c		tga
448file	dev/ic/bt485.c			tga
449file	dev/ic/bt463.c			tga
450file	dev/ic/ibm561.c			tga
451
452# HP Visualize
453attach	sti at pci with sti_pci
454file	dev/pci/sti_pci.c		sti_pci			needs-flag
455
456# Integraphics Systems IGA168x and CyberPro framebuffers (linear non-VGA mode)
457# device declaration in sys/conf/files
458attach	igsfb at pci with igsfb_pci
459file	dev/pci/igsfb_pci.c		igsfb_pci
460
461# Brooktree Bt848 video capture
462device	bktr: radiodev
463attach	bktr at pci
464file	dev/pci/bktr/bktr_audio.c	bktr
465file	dev/pci/bktr/bktr_card.c	bktr
466file	dev/pci/bktr/bktr_core.c	bktr
467file	dev/pci/bktr/bktr_os.c		bktr			needs-flag
468file	dev/pci/bktr/bktr_tuner.c	bktr
469
470# Cirrus Logic CrystalClear PCI Audio CS4280
471device	clcs: audiobus, auconv, mulaw, ac97, midibus
472attach	clcs at pci
473file	dev/pci/cs4280.c		clcs
474
475# Cirrus Logic CrystalClear PCI Audio CS4281
476device	clct: audiobus, auconv, mulaw, ac97
477attach	clct at pci
478file	dev/pci/cs4281.c		clct
479
480# Shared code for Cirrus Logic CrystalClear PCI Audio CS4280 and CS4281
481file	dev/pci/cs428x.c		clcs | clct
482
483# Forte Media FM801
484device	fms { }: audiobus, auconv, mulaw, ac97, midibus
485attach	fms at pci
486file	dev/pci/fms.c			fms
487
488attach	opl at fms with opl_fms
489file	dev/pci/opl_fms.c		opl_fms
490
491attach	mpu at fms with mpu_fms
492file	dev/pci/mpu_fms.c		mpu_fms
493
494# Ensoniq AudioPCI S5016
495device	eap { }: audiobus, auconv, mulaw, ac97, midibus
496attach	eap at pci
497file	dev/pci/eap.c			eap
498
499attach	joy at eap with joy_eap
500file	dev/pci/joy_eap.c		joy_eap needs-flag
501
502# Acer Labs M5455
503device	auacer: audiobus, auconv, mulaw, ac97, aurateconv
504attach	auacer at pci
505file	dev/pci/auacer.c		auacer
506
507# Intel ICH AC'97 audio
508device	auich: audiobus, auconv, mulaw, ac97, aurateconv
509attach	auich at pci
510file	dev/pci/auich.c			auich
511
512# VIA VT82C686A/VT8233/VT8235 AC'97 Audio
513device	auvia: audiobus, auconv, mulaw, ac97, aurateconv
514attach	auvia at pci
515file	dev/pci/auvia.c			auvia
516
517# ATI IXP 200/300/400 series AC'97 Audio
518device	auixp: audiobus, auconv, mulaw, ac97, aurateconv
519attach	auixp at pci
520file	dev/pci/auixp.c			auixp
521
522# High Definition Audio
523device	azalia: audiobus, auconv, mulaw, ac97, aurateconv
524attach	azalia at pci
525file	dev/pci/azalia.c		azalia
526file	dev/pci/azalia_codec.c		azalia
527
528# AMD Geode CS5536 Companion Audio
529device	gcscaudio: audiobus, auconv, mulaw, ac97, aurateconv
530attach	gcscaudio at pci
531file	dev/pci/gcscaudio.c		gcscaudio
532
533# NeoMagic 256 AC'97 Audio
534device	neo: audiobus, auconv, mulaw, ac97
535attach	neo at pci
536file	dev/pci/neo.c			neo
537
538# ESS Allegro-1 / Maestro3
539device	esa: audiobus, auconv, mulaw, ac97
540attach	esa at pci
541file	dev/pci/esa.c			esa
542
543# ESS Solo-1 PCI AudioDrive
544device	eso { }: audiobus, auconv, mulaw, midibus
545attach	eso at pci
546file	dev/pci/eso.c			eso
547
548attach	opl at eso with opl_eso
549file	dev/pci/opl_eso.c		opl_eso
550
551attach	mpu at eso with mpu_eso
552file	dev/pci/mpu_eso.c		mpu_eso
553
554attach	joy at eso with joy_eso
555file	dev/pci/joy_eso.c		joy_eso
556
557# ESS Maestro-1/2/2e PCI AC97 Audio Accelerator
558device	esm: audiobus, auconv, mulaw, ac97
559attach	esm at pci
560file	dev/pci/esm.c			esm
561
562# S3 SonicVibes (S3 617)
563device	sv { }: audiobus, auconv, mulaw, midibus
564attach	sv at pci
565file	dev/pci/sv.c			sv
566
567attach	opl at sv with opl_sv
568file	dev/pci/opl_sv.c		opl_sv
569
570# C-Media CMI8x38 Audio Chip
571device	cmpci { }: audiobus, auconv, mulaw
572attach	cmpci at pci
573file	dev/pci/cmpci.c			cmpci
574
575attach	opl at cmpci with opl_cmpci
576file	dev/pci/opl_cmpci.c		opl_cmpci
577
578attach	mpu at cmpci with mpu_cmpci
579file	dev/pci/mpu_cmpci.c		mpu_cmpci
580
581# Yamaha YMF724/740/744/754 PCI audio controller
582device	yds { }: audiobus, auconv, mulaw, ac97
583attach	yds at pci
584file	dev/pci/yds.c			yds
585
586attach	opl at yds with opl_yds
587file	dev/pci/opl_yds.c		opl_yds
588
589attach	mpu at yds with mpu_yds
590file	dev/pci/mpu_yds.c		mpu_yds
591
592# Creative Labs EMU10k1 (SBLive! series and PCI512)
593device	emuxki: audiobus, auconv, mulaw, ac97
594attach	emuxki at pci
595file	dev/pci/emuxki.c		emuxki
596
597# Trident 4DWAVE AC'97 audio (including SiS 7018,ALi M5451)
598device	autri: audiobus, auconv, mulaw, ac97, midibus
599attach	autri at pci
600file	dev/pci/autri.c			autri
601
602# SMC EPIC/100 Fast Ethernet on PCI
603attach	epic at pci with epic_pci
604file	dev/pci/if_epic_pci.c		epic_pci
605
606# PCI "universal" communication device driver, for PCI com, lpt, etc. ports
607# (see documentation in the driver for what, exactly, should be supported)
608device	puc { port = -1 }
609attach	puc at pci
610file	dev/pci/puc.c			puc
611file	dev/pci/pucdata.c		puc
612defflag opt_puc.h	PUC_CNAUTO
613defparam opt_puc.h	PUC_CNBUS
614
615attach	com at puc with com_puc
616file	dev/pci/com_puc.c		com_puc needs-flag
617file	dev/pci/cyber.c			com_puc
618file	dev/pci/puccn.c			com_puc
619
620attach	lpt at puc with lpt_puc
621file	dev/pci/lpt_puc.c		lpt_puc & !ppbus
622
623attach	atppc at puc with atppc_puc
624file	dev/pci/atppc_puc.c		atppc_puc
625
626# UHCI USB controller
627attach	uhci at pci with uhci_pci
628file	dev/pci/uhci_pci.c		uhci_pci
629
630# OHCI USB controller
631attach	ohci at pci with ohci_pci
632file	dev/pci/ohci_pci.c		ohci_pci
633
634# EHCI USB controller
635attach	ehci at pci with ehci_pci
636file	dev/pci/ehci_pci.c		ehci_pci
637
638file	dev/pci/usb_pci.c		ehci_pci | ehci_cardbus
639
640# xHCI USB controller
641attach	xhci at pci with xhci_pci
642file	dev/pci/xhci_pci.c		xhci_pci
643defflag	opt_xhci_pci.h			XHCI_DISABLE_MSI
644
645# OHCI IEEE 1394 controller
646attach	fwohci at pci with fwohci_pci
647file	dev/pci/fwohci_pci.c		fwohci_pci
648
649# VIA Rhine/Rhine II Fast Ethernet controllers
650device	vr: ether, ifnet, arp, mii, mii_bitbang
651attach	vr at pci
652file	dev/pci/if_vr.c			vr
653
654# SiS 900 Fast Ethernet controllers
655device	sip: ether, ifnet, arp, mii, mii_bitbang
656attach	sip at pci
657file	dev/pci/if_sip.c		sip | gsip
658
659# National Semiconductor DP83820 Gigabit Ethernet
660device	gsip: ether, ifnet, arp, mii, mii_bitbang
661attach	gsip at pci
662
663# Level One LXT-1001 Gigabit Ethernet
664#device	glxt: ether, ifnet, arp, mii
665#attach	glxt at pci
666#file	dev/pci/if_glxt.c		glxt
667
668# Sundance Tech./Tamarack TC9021 Gigabit Ethernet
669device	stge: ether, ifnet, arp, mii, mii_bitbang
670attach	stge at pci
671file	dev/pci/if_stge.c		stge
672
673# Intel i82598 & i82599 10-Gigabit Ethernet
674device	ixg: ether, ifnet, arp
675attach	ixg at pci
676file	dev/pci/ixgbe/ixgbe.c		ixg | ixv
677file	dev/pci/ixgbe/ix_txrx.c		ixg | ixv
678file	dev/pci/ixgbe/ixgbe_netbsd.c	ixg | ixv
679file	dev/pci/ixgbe/ixgbe_82598.c	ixg | ixv
680file	dev/pci/ixgbe/ixgbe_82599.c	ixg | ixv
681file	dev/pci/ixgbe/ixgbe_x540.c	ixg | ixv
682file	dev/pci/ixgbe/ixgbe_x550.c	ixg | ixv
683file	dev/pci/ixgbe/ixgbe_api.c	ixg | ixv
684file	dev/pci/ixgbe/ixgbe_common.c	ixg | ixv
685file	dev/pci/ixgbe/ixgbe_mbx.c	ixg | ixv
686file	dev/pci/ixgbe/ixgbe_osdep.c	ixg | ixv
687file	dev/pci/ixgbe/ixgbe_phy.c	ixg | ixv
688file	dev/pci/ixgbe/ixgbe_vf.c	ixg | ixv
689file	dev/pci/ixgbe/if_bypass.c	ixg | ixv
690file	dev/pci/ixgbe/if_fdir.c		ixg | ixv
691
692# This appears to be the driver for virtual instances of i82599.
693device	ixv: ether, ifnet, arp
694attach	ixv at pci
695file	dev/pci/ixgbe/ixv.c		ixv
696
697# Intel i8254x Gigabit Ethernet
698device	wm: ether, ifnet, arp, mii, mii_bitbang
699attach	wm at pci
700file	dev/pci/if_wm.c			wm
701defflag	opt_if_wm.h	WM_EVENT_COUNTERS
702defparam opt_if_wm.h	WM_RX_PROCESS_LIMIT_DEFAULT
703			WM_RX_INTR_PROCESS_LIMIT_DEFAULT
704			WM_DISABLE_MSI
705			WM_DISABLE_MSIX
706
707# Broadcom 570x Gigabit Ethernet
708device	bge: ether, ifnet, arp, mii, mii_bitbang
709attach	bge at pci
710file	dev/pci/if_bge.c		bge
711
712# Broadcom NetXtreme II
713device	bnx: ether, ifnet, arp, mii
714attach	bnx at pci
715file	dev/pci/if_bnx.c		bnx
716
717# Realtek 8129/8139 Ethernet controllers
718attach	rtk at pci with rtk_pci
719file	dev/pci/if_rtk_pci.c		rtk_pci
720
721# DECchip 21x4x Ethernet controller family, and assorted clones.
722attach	tlp at pci with tlp_pci
723file	dev/pci/if_tlp_pci.c		tlp_pci
724
725# Bit3 PCI-VME mod. 617
726device	btvmei: vmebus
727attach	btvmei at pci
728file	dev/pci/btvmei.c		btvmei
729#file	dev/pci/btvmei_dma.c		btvmei
730#file	dev/pci/btvmei_cntlrdma.c	btvmei
731
732# Alteon ACEnic Gigabit Ethernet controller
733device	ti: ether, ifnet, arp
734attach	ti at pci
735file	dev/pci/if_ti.c			ti
736
737# Adaptec AIC-6915 Ethernet interface
738attach	sf at pci with sf_pci
739file	dev/pci/if_sf_pci.c		sf_pci
740
741# Sundance Tech. ST-201 10/100 Ethernet
742device	ste: ether, ifnet, arp, mii, mii_bitbang
743attach	ste at pci
744file	dev/pci/if_ste.c		ste
745
746# YENTA PCI-Cardbus bridge
747#device	cbb: cbbus, pcmciabus
748device	cbb: pcmciaslot
749attach	cbb at pci with cbb_pci
750file	dev/pci/pccbb.c			cbb
751
752# Tundra Universe PCI-VME adapter
753define	univ_pci
754file	dev/pci/universe_pci.c univ_pci
755
756# Bit3 PCI-VME mod. 2706
757device	btvmeii: vmebus, univ_pci
758attach	btvmeii at pci
759file	dev/pci/btvmeii.c btvmeii
760
761# VIA VT82C686A/VT8231 PM Timer and Hardware Monitor
762device	viaenv: acpipmtimer, sysmon_envsys
763attach	viaenv at pci
764file	dev/pci/viaenv.c		viaenv
765
766# Intel PIIX4 power management controller
767device	piixpm: i2cbus, acpipmtimer
768attach	piixpm at pci
769file	dev/pci/piixpm.c		piixpm
770
771# AMD 768MPX power management controller
772defflag	opt_amdpm.h			AMDPM_RND_COUNTERS
773device	amdpm: i2cbus, acpipmtimer
774attach	amdpm at pci
775file	dev/pci/amdpm.c			amdpm
776file	dev/pci/amdpm_smbus.c		amdpm
777
778# Hi/fn 7751
779device	hifn: opencrypto
780attach	hifn at pci
781file	dev/pci/hifn7751.c		hifn
782
783# Bluesteelnet 5501/5601, Broadcom 580x/582x security processor
784device	ubsec: opencrypto
785attach	ubsec at pci
786file	dev/pci/ubsec.c			ubsec
787
788# Aironet PC4500/PC4800
789attach	an at pci with an_pci
790file	dev/pci/if_an_pci.c		an_pci
791
792# ADMtek ADM8211 PCI/Mini-PCI
793attach	atw at pci with atw_pci
794file	dev/pci/if_atw_pci.c		atw_pci
795
796# Realtek RTL8180 PCI/Mini-PCI
797attach	rtw at pci with rtw_pci
798file	dev/pci/if_rtw_pci.c		rtw_pci
799
800# Realtek RTL8188CE Mini-PCIe
801device	rtwn: ifnet, arp, wlan, firmload
802attach	rtwn at pci
803file	dev/pci/if_rtwn.c		rtwn
804
805# Ralink RT2500/RT2600 PCI/Mini-PCI
806attach	ral at pci with ral_pci
807file	dev/pci/if_ral_pci.c		ral_pci
808
809# Marvel Libertas Open
810attach  malo at pci with malo_pci
811file    dev/pci/if_malo_pci.c       malo_pci
812
813# Intersil Prism2.5 Mini-PCI
814attach	wi at pci with wi_pci
815file	dev/pci/if_wi_pci.c		wi_pci
816
817# ISDN devices
818attach	isic at pci with isic_pci
819file	dev/pci/isic_pci.c		isic_pci
820
821file	dev/pci/isic_pci_elsa_qs1p.c	isic_pci
822
823# AVM T1/B1
824attach	iavc at pci with iavc_pci
825file	dev/pci/iavc_pci.c		iavc_pci
826
827device	ifpci: isdndev, passive_isdn, nisac
828attach	ifpci at pci
829file	dev/pci/ifpci.c			ifpci
830
831device	ifritz: isdndev, passive_isdn, nisacsx
832attach	ifritz at pci
833file	dev/pci/ifpci2.c		ifritz
834
835# Winbond W6692
836device	iwic: isdndev, passive_isdn
837attach	iwic at pci with iwic_pci
838file	dev/pci/iwic_pci.c		iwic
839file	dev/pci/iwic_bchan.c		iwic
840file	dev/pci/iwic_dchan.c		iwic
841file	dev/pci/iwic_fsm.c		iwic
842
843# IrDA devices
844#  Toshiba Fast Infrared Type O IrDA driver
845device	oboe: irbus, irdasir
846attach	oboe at pci
847file	dev/pci/oboe.c			oboe
848
849# Middle Digital, Inc. PCI-Weasel serial console board control
850# devices (watchdog timer, etc.)
851device	weasel: sysmon_wdog
852attach	weasel at pci with weasel_pci
853file	dev/pci/weasel_pci.c		weasel
854
855# Game adapter (joystick)
856attach	joy at pci with joy_pci
857file	dev/pci/joy_pci.c		joy_pci
858
859# ATI Mach64 framebuffer console driver
860defflag	opt_machfb.h	MACHFB_DEBUG
861device	machfb: wsemuldisplaydev, rasops8, fb, vcons, videomode, edid, drm, glyphcache
862attach	machfb at pci
863file	dev/pci/machfb.c		machfb
864
865# 3Dfx Voodoo3 framebuffer console driver
866device	voodoofb: wsemuldisplaydev, rasops8, vcons, videomode, drm, i2cbus, i2c_bitbang, ddc_read_edid, edid
867attach	voodoofb at pci
868file	dev/pci/voodoofb.c		voodoofb
869
870# VIA UniChrome framebuffer console driver
871device	unichromefb: wsemuldisplaydev, rasops16, rasops32, vcons, drm
872attach	unichromefb at pci
873file	dev/pci/unichromefb.c		unichromefb needs-flag
874
875# ATI Radeon framebuffer console driver
876# (Note: to enable the BIOS parser, add options RADEON_BIOS_INIT to the config)
877device	radeonfb: wsemuldisplaydev, videomode, rasops8, rasops32, vcons, splash, i2cbus, i2c_bitbang, ddc_read_edid, edid, drm, glyphcache
878attach	radeonfb at pci
879file	dev/pci/radeonfb.c	radeonfb
880file	dev/pci/radeonfb_i2c.c	radeonfb
881file	dev/pci/radeonfb_bios.c	radeonfb
882defflag opt_radeonfb.h	RADEONFB_DEBUG
883defflag opt_radeonfb.h	RADEONFB_BIOS_INIT
884defflag opt_radeonfb.h	RADEONFB_BIOS_DEBUG
885defflag opt_radeonfb.h	RADEONFB_MMAP_BARS
886defflag opt_radeonfb.h	RADEONFB_DEPTH_32
887defflag opt_radeonfb.h	RADEONFB_ALWAYS_ACCEL_PUTCHAR
888
889# Chelsio Terminator 3 (T3) 10 gigabit ethernet
890device	cxgbc { }
891attach	cxgbc at pci
892device	cxgb: ether, ifnet, arp
893attach	cxgb at cxgbc
894file	dev/pci/cxgb/cxgb_main.c	cxgbc | cxgb
895file	dev/pci/cxgb/cxgb_mc5.c		cxgbc | cxgb
896file	dev/pci/cxgb/cxgb_vsc8211.c	cxgbc | cxgb
897file	dev/pci/cxgb/cxgb_ael1002.c	cxgbc | cxgb
898file	dev/pci/cxgb/cxgb_mv88e1xxx.c	cxgbc | cxgb
899file	dev/pci/cxgb/cxgb_vsc7323.c	cxgbc | cxgb
900file	dev/pci/cxgb/cxgb_xgmac.c	cxgbc | cxgb
901file	dev/pci/cxgb/cxgb_t3_hw.c	cxgbc | cxgb
902file	dev/pci/cxgb/cxgb_sge.c		cxgbc | cxgb
903file	dev/pci/cxgb/cxgb_lro.c		cxgbc | cxgb
904# file	dev/pci/cxgb/cxgb_offload.c	cxgbc | cxgb
905file	dev/pci/cxgb/cxgb_l2t.c		cxgbc | cxgb
906file	dev/pci/cxgb/cxgb_osdep.c	cxgbc | cxgb
907
908# Chips & Technologies 65550 framebuffer console driver
909attach	chipsfb at pci with chipsfb_pci
910file	dev/pci/chipsfb.c		chipsfb_pci
911
912# 3Com 3c990
913device	txp: ether, ifnet, arp
914attach	txp at pci
915file	dev/pci/if_txp.c		txp
916
917# SysKonnect
918device	skc { }
919attach	skc at pci
920device	sk: ether, ifnet, arp, mii
921attach	sk at skc
922file	dev/pci/if_sk.c			skc | sk
923
924# Broadcom 4401 10/100 Ethernet
925device	bce: ether, ifnet, arp, mii
926attach	bce at pci
927file	dev/pci/if_bce.c		bce
928
929# Intel PRO/10GbE
930device	dge: ether, ifnet, arp
931attach	dge at pci
932file	dev/pci/if_dge.c		dge
933
934# Realtek 8169 Ethernet controllers
935attach	re at pci with re_pci
936file	dev/pci/if_re_pci.c		re_pci
937
938# Windows NDIS drivers (Experimental)
939device 	ndis
940attach 	ndis at pci
941file	dev/if_ndis/if_ndis.c		ndis
942file	dev/if_ndis/if_ndis_pci.c	ndis
943
944# Intel PRO/Wireless 2100
945device	ipw: ifnet, arp, wlan, firmload
946attach	ipw at pci
947file	dev/pci/if_ipw.c		ipw
948
949# Intel PRO/Wireless 2200BG/2915ABG
950device	iwi: ifnet, arp, wlan, firmload
951attach	iwi at pci
952file	dev/pci/if_iwi.c		iwi
953
954# Intel PRO/Wireless 3945ABG
955device	wpi: ifnet, arp, wlan, firmload
956attach	wpi at pci
957file	dev/pci/if_wpi.c		wpi
958
959# Intel PRO/Wireless 4965AGN Mini-PCI Adapter
960device	iwn: ifnet, arp, wlan, firmload
961attach	iwn at pci
962file	dev/pci/if_iwn.c		iwn
963
964# Intel Centrino 7260
965device	iwm: ifnet, arp, wlan, firmload
966attach	iwm at pci
967file	dev/pci/if_iwm.c		iwm
968
969# Workbit NinjaSCSI-32 controllers
970# device declaration in sys/conf/files
971attach	njs at pci with njs_pci
972file	dev/pci/njs_pci.c		njs_pci
973
974# S2io Xframe 10 Gigabit ethernet (Xframe driver)
975device  xge: ether, ifnet, arp
976attach  xge  at pci 
977file    dev/pci/if_xge.c		xge
978
979# Via Velocity 612x 10/100/1000 Ethernet
980device	vge: ether, ifnet, arp, mii
981attach	vge at pci
982file	dev/pci/if_vge.c		vge
983
984# Atheros 5210/5211/5212 PCI/Mini-PCI
985attach	ath at pci with ath_pci
986file	dev/pci/if_ath_pci.c		ath_pci
987
988# Atheros AR9k (802.11 a/g/n)
989attach	athn at pci with athn_pci
990file	dev/pci/if_athn_pci.c		athn_pci
991
992# NVIDIA nForce Ethernet
993device  nfe: ether, ifnet, arp, mii, mii_phy
994attach  nfe at pci
995file    dev/pci/if_nfe.c                nfe
996
997# MICREL Etherent
998device	kse: ether, ifnet, arp
999attach	kse at pci
1000file	dev/pci/if_kse.c		kse
1001
1002# Yukon 2
1003device	mskc { }
1004attach	mskc at pci
1005device	msk: ether, ifnet, arp, mii
1006attach	msk at mskc
1007file	dev/pci/if_msk.c		mskc | msk
1008
1009# SD Host Controller
1010attach	sdhc at pci with sdhc_pci
1011file	dev/pci/sdhc_pci.c		sdhc_pci
1012
1013# generic framebuffer console driver, PCI frontend
1014attach genfb at pci with genfb_pci : splash
1015file	dev/pci/genfb_pci.c	genfb_pci
1016
1017# NVIDIA nForce2/3/4 SMBus controller
1018device	nfsmbc { }
1019attach	nfsmbc at pci
1020device	nfsmb: i2cbus
1021attach	nfsmb at nfsmbc
1022file	dev/pci/nfsmb.c			nfsmbc | nfsmb
1023
1024# Intel ICH SMBus controller
1025device	ichsmb: i2cbus
1026attach	ichsmb at pci
1027file	dev/pci/ichsmb.c		ichsmb
1028
1029# ATI Rage 128 framebuffer console driver
1030device	r128fb: wsemuldisplaydev, rasops8, rasops32, vcons, videomode, i2cbus, i2c_bitbang, glyphcache
1031attach	r128fb at pci
1032file	dev/pci/r128fb.c		r128fb
1033defflag	opt_r128fb.h	R128FB_DEBUG
1034defflag	opt_r128fb.h	R128FB_WAIT
1035
1036# Attansic/Atheros L1 Gigabit-Ethernet
1037device	age: ether, ifnet, arp, mii, mii_phy
1038attach	age at pci
1039file	dev/pci/if_age.c		age
1040
1041# Attansic/Atheros L1C/L2C Gigabit Ethernet
1042device	alc: ether, ifnet, arp, mii, mii_phy
1043attach	alc at pci
1044file	dev/pci/if_alc.c		alc
1045
1046# Attanisc/Atheros L1E Gigabit Ethernet
1047device	ale: ether, ifnet, arp, mii, mii_phy
1048attach	ale at pci
1049file	dev/pci/if_ale.c		ale
1050
1051# Atheros/Attansic L2 Fast-Ethernet
1052device	lii: ether, ifnet, arp, mii
1053attach	lii at pci
1054file	dev/pci/if_lii.c		lii
1055
1056# Silicon Image SteelVine SATA-II controllers
1057attach	siisata at pci with siisata_pci
1058file	dev/pci/siisata_pci.c		siisata_pci
1059
1060# Acer Labs M7101 power management controller
1061device	alipm: i2cbus
1062attach	alipm at pci
1063file	dev/pci/alipm.c				alipm
1064
1065#
1066# NetOctave NSP2000
1067#
1068include "dev/pci/n8/files.n8"
1069
1070#
1071# Broadcom AirForce / Apple Airport Extreme
1072#
1073attach	bwi at pci with bwi_pci
1074file	dev/pci/if_bwi_pci.c		bwi_pci
1075
1076# Marvell Serial-ATA Host Controller
1077attach	mvsata at pci with mvsata_pci
1078file	dev/pci/mvsata_pci.c		mvsata_pci
1079
1080include "dev/pci/voyager/files.voyager"
1081# Silicon Motion SM502 / Voyager GX
1082device	voyager: i2c_bitbang, voyagerbus, i2cbus
1083attach	voyager at pci
1084file	dev/pci/voyager.c		voyager
1085defflag	opt_voyager.h	VOYAGER_DEBUG
1086
1087# High Definition Audio
1088attach	hdaudio at pci with hdaudio_pci
1089file	dev/pci/hdaudio_pci.c		hdaudio_pci
1090
1091# Permedia 2 / Sun PGX32 / Raptor
1092device	pm2fb: wsemuldisplaydev, rasops8, rasops32, vcons, videomode, i2cbus, i2c_bitbang, ddc_read_edid, edid, glyphcache
1093attach	pm2fb at pci
1094file	dev/pci/pm2fb.c		pm2fb
1095defflag	opt_pm2fb.h	PM2FB_DEBUG
1096
1097# Permedia 3 / Oxygen VX1 / Proformance 3  
1098device  pm3fb: wsemuldisplaydev, rasops8, vcons, videomode, i2cbus, i2c_bitbang, ddc_read_edid, edid
1099attach  pm3fb at pci
1100file	dev/pci/pm3fb.c		pm3fb
1101
1102# 3Dlabs Wildcat / Sun XVR-500, 1200, Expert3D etc.
1103device		wcfb: wsemuldisplaydev, rasops8, vcons
1104attach		wcfb at pci
1105file		dev/pci/wcfb.c	wcfb
1106defflag		opt_wcfb.h	WCFB_DEBUG
1107
1108# Domex 536, 5380-compatible SCSI HBA
1109attach	nca at pci with nca_pci
1110file	dev/pci/nca_pci.c	nca_pci
1111
1112# Agere ET1310/1301 Ethernet
1113device	et: ether, ifnet, arp, mii, mii_phy
1114attach	et at pci
1115file	dev/pci/if_et.c			et
1116
1117# RDC Semiconductor R6040 10/100 Ethernet
1118device	vte: ether, ifnet, arp, mii, mii_phy
1119attach	vte at pci
1120file	dev/pci/if_vte.c		vte
1121
1122# Conexant CX23880-series DTV interface
1123device	cxdtv: dtvbus, i2c_bitbang, i2cbus, i2cexec, tvpll, nxt2k, lg3303
1124attach	cxdtv at pci
1125file	dev/pci/cxdtv.c		cxdtv
1126file	dev/pci/cxdtv_boards.c	cxdtv
1127
1128# Conexant CX23885-series DTV interface
1129device	coram: dtvbus, i2cbus, i2cexec, mt2131, cx24227
1130attach	coram at pci
1131file	dev/pci/coram.c		coram
1132
1133# QUANCOM Electronic GmbH PWDOG1
1134device	pwdog: sysmon_envsys
1135attach	pwdog at pci
1136file	dev/pci/pwdog.c		pwdog
1137
1138# IBM 4810 BSP cash drawer port
1139device	ibmcd: gpiobus
1140attach	ibmcd at pci
1141file	dev/pci/ibmcd.c		ibmcd
1142
1143# SIS 315 Pro frame buffer
1144device  sisfb: wsemuldisplaydev, rasops8, rasops15, rasops16, rasops32, vcons
1145attach  sisfb at pci
1146file    dev/pci/sisfb.c		sisfb	needs-flag
1147
1148# VirtIO: XXX: move to dev/vmm/virtio
1149include "dev/pci/files.virtio"
1150
1151attach	virtio at pci with virtio_pci
1152file	dev/pci/virtio_pci.c	virtio_pci
1153
1154# Silicon Motion SM712(LynxEM+) frame buffer
1155device	lynxfb: wsemuldisplaydev, rasops16
1156attach	lynxfb at pci
1157file	dev/pci/lynxfb.c	lynxfb needs-flag
1158
1159include "dev/pci/igma/files.igma"
1160# Intel GMA
1161device	igma: igmabus, i2cbus, i2c_bitbang, ddc_read_edid, edid
1162attach	igma at pci
1163file	dev/pci/igma.c		igma
1164
1165# 3Dfx Voodoo Graphics
1166defflag	opt_tdvfb.h		TDVFB_CONSOLE
1167device	tdvfb: wsemuldisplaydev, rasops16, rasops32, vcons, videomode
1168attach	tdvfb at pci
1169file	dev/pci/tdvfb.c		tdvfb	
1170
1171# nvidia geforce framebuffer console driver
1172device	gffb: wsemuldisplaydev, rasops8, vcons, videomode, i2cbus, i2c_bitbang, glyphcache
1173attach	gffb at pci
1174file	dev/pci/gffb.c		gffb
1175defflag	opt_gffb.h	GFFB_DEBUG
1176
1177# Realtek RTS5209/RTS5229 Card Reader driver
1178attach	rtsx at pci with rtsx_pci
1179file	dev/pci/rtsx_pci.c	rtsx_pci
1180
1181# NVM Express Controller
1182attach	nvme at pci with nvme_pci
1183file	dev/pci/nvme_pci.c	nvme_pci
1184
1185# PCI graphics devices with DRM/KMS
1186include "external/bsd/drm2/pci/files.drmkms_pci"
1187
1188# Intel S1200,C2000 (non-pch) SMBus controller
1189device	ismt: i2cbus
1190attach	ismt at pci
1191file	dev/pci/ismt.c		ismt
1192