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