xref: /netbsd-src/share/man/man4/pci.4 (revision 181254a7b1bdde6873432bffef2d2decc4b5c22f)
1.\"	$NetBSD: pci.4,v 1.101 2019/12/08 02:54:54 nia Exp $
2.\"
3.\" Copyright (c) 1997 Jason R. Thorpe.  All rights reserved.
4.\" Copyright (c) 1997 Jonathan Stone
5.\" All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software
16.\"    must display the following acknowledgements:
17.\"      This product includes software developed by Jonathan Stone
18.\" 4. The name of the author may not be used to endorse or promote products
19.\"    derived from this software without specific prior written permission
20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31.\"
32.Dd December 12, 2018
33.Dt PCI 4
34.Os
35.Sh NAME
36.Nm pci
37.Nd introduction to machine-independent PCI bus support and drivers
38.Sh SYNOPSIS
39.Cd "pci* at mainbus? bus ?"
40.Cd "pci* at pchb? bus ?"
41.Cd "pci* at ppb? bus ?"
42.Pp
43.Cd options PCIVERBOSE
44.Cd options PCI_CONFIG_DUMP
45.Cd options PCI_ADDR_FIXUP
46.Cd options PCI_BUS_FIXUP
47.Cd options PCI_INTR_FIXUP
48.Sh DESCRIPTION
49Other
50.Nm
51attachments are machine-dependent and depend on the bus topology and
52.Tn PCI
53bus interface of your system.
54See
55.Xr intro 4
56for your system for details.
57.Pp
58.Nx
59includes a machine-independent
60.Tn PCI
61bus subsystem and
62several machine-independent
63.Tn PCI
64device drivers.
65.Pp
66Your system may support additional
67.Tn PCI
68devices.
69Drivers for
70.Tn PCI
71devices not listed here are machine-dependent.
72Consult your system's
73.Xr intro 4
74for additional information.
75.Sh OPTIONS
76.Bl -tag -width PCI_ADDR_FIXUP -offset 3n
77.It Dv PCI_ADDR_FIXUP
78Fixup PCI I/O and memory addresses.
79.Pp
80Some i386 and amd64 BIOS implementations don't allocate I/O space and
81memory space for some PCI devices \(em primarily BIOS in PnP mode, or laptops
82that expect devices to be configured via ACPI.
83Since necessary space isn't allocated, those devices
84will not work without special handling.
85.Pp
86This option allocates I/O space and memory space
87instead of relying upon the BIOS to do so.
88.Pp
89If necessary space is already correctly assigned to the devices,
90this option leaves the space as is.
91.It Dv PCI_BUS_FIXUP
92Fixup PCI bus numbering; needed for many
93.Xr cardbus 4
94bridges.
95.Pp
96Each PCI bus and CardBus should have a unique bus number.
97But some BIOS implementations don't assign a bus number
98for subordinate PCI buses.
99And many BIOS implementations
100don't assign a bus number for CardBuses.
101.Pp
102A typical symptom of this is the following boot message:
103.D1 Sy cardbus0 at cardslot0: bus 0 device 0...
104Please note that this cardbus0 has a bus number
105.Sq 0 ,
106but normally the bus number 0 is used by the machine's
107primary PCI bus.
108Thus, this bus number for cardbus is incorrect
109.Pq not assigned .
110In this situation, a device located in cardbus0 doesn't
111show correct device ID,
112because its bus number 0 incorrectly refers to the primary
113PCI bus, and a device ID in the primary PCI bus is shown
114in the boot message instead of the device's ID in the cardbus0.
115.Pp
116This option assigns bus numbers for all subordinate
117PCI buses and CardBuses.
118.Pp
119Since this option renumbers all PCI buses and CardBuses,
120all bus numbers of subordinate buses become different
121when this option is enabled.
122.It Dv PCI_INTR_FIXUP
123Fixup PCI interrupt routing via PCIBIOS or ACPI.
124.Pp
125Some i386 and amd64 BIOS implementations don't assign an interrupt for
126some devices.
127.Pp
128This option assigns an interrupt for such devices instead
129of relying upon the BIOS to do so.
130.Pp
131If a valid interrupt has already been assigned to a device, this
132option leaves the interrupt as is.
133.El
134.Sh HARDWARE
135.Nx
136includes machine-independent
137.Tn PCI
138drivers, sorted by device type and driver name:
139.Ss SCSI interfaces
140.Bl -tag -width pcdisplay -offset indent
141.It ahc
142Adaptec 29xx, 39xx, and other AIC-7xxx-based
143.Tn SCSI
144interfaces.
145.It adv
146Advansys
147.Tn SCSI
148interfaces.
149.It adw
150Advansys Ultra Wide
151.Tn SCSI
152interfaces.
153.It bha
154Buslogic BT-9xx
155.Tn SCSI
156interfaces.
157.It dpt
158DPT SmartCache/SmartRAID III and IV
159.Tn SCSI
160interfaces.
161.It iha
162Initio INIC-940/950
163.Tn SCSI
164interfaces.
165.It isp
166QLogic ISP-1020, ISP-1040, and ISP-2100
167.Tn SCSI
168and
169.Tn FibreChannel
170interfaces.
171.It mfi
172LSI Logic & Dell MegaRAID SAS RAID controllers.
173.It mly
174Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware.
175.It nca
176Domex 536
177.Tn SCSI
178interfaces.
179.It pcscp
180Advanced Micro Devices Am53c974 PCscsi-PCI
181.Tn SCSI
182interfaces.
183.It siop
184Symbios Logic/NCR 53c8xx-family
185.Tn SCSI
186interfaces.
187.It trm
188Tekram TRM-S1040 ASIC based
189.Tn SCSI
190interfaces.
191.El
192.Ss Disk and tape controllers
193.Bl -tag -width pcdisplay -offset indent
194.It aac
195The Adaptec AAC family of RAID controllers.
196.It ahcisata
197AHCI 1.0 and 1.1 compliant SATA controllers.
198.It amr
199The AMI and LSI Logic MegaRAID family of RAID controllers.
200.It cac
201Compaq array controllers.
202.It icp
203ICP Vortex GDT and Intel Storage RAID controllers.
204.It mlx
205Mylex DAC960 and DEC SWXCR RAID controllers.
206.It pciide
207IDE disk controllers.
208.It twe
2093Ware Escalade RAID controllers.
210.El
211.Ss Network interfaces
212.Bl -tag -width pcdisplay -offset indent
213.It an
214.Tn Aironet
2154500/4800 and
216.Tn Cisco
217340 series 802.11 interfaces.
218.It bnx
219Broadcom NetXtreme II 10/100/1000 Ethernet interfaces.
220.It de
221.Tn DEC
222DC21x4x (Tulip) based
223.Tn Ethernet
224interfaces, including the DE435,
225DE450, and DE500, and Znyx, SMC, Cogent/Adaptec, and Asante single- and
226multi-port
227.Tn Ethernet
228interfaces.
229.It ep
2303Com 3c590, 3c595, 3c900, and 3c905
231.Tn Ethernet
232interfaces.
233.It epic
234SMC83C170 (EPIC/100)
235.Tn Ethernet
236interfaces.
237.It esh
238RoadRunner-based HIPPI interfaces.
239.It ex
2403Com 3c900, 3c905, and 3c980
241.Tn Ethernet
242interfaces.
243.It fpa
244.Tn DEC
245DEFPA
246.Tn FDDI
247interfaces.
248.It fxp
249Intel EtherExpress PRO 10+/100B
250.Tn Ethernet
251interfaces.
252.It gsip
253National Semiconductor DP83820 based Gigabit
254.Tn Ethernet
255interfaces.
256.It hme
257Sun Microelectronics STP2002-STQ
258.Tn Ethernet
259interfaces.
260.It le
261PCNet-PCI
262.Tn Ethernet
263interfaces.
264Note, the
265.Xr pcn 4
266driver supersedes this driver.
267.It msk
268Marvell Yukon 2 based Gigabit
269.Tn Ethernet
270interfaces.
271.It ne
272NE2000-compatible
273.Tn Ethernet
274interfaces.
275.It nfe
276NVIDIA nForce
277.Tn Ethernet
278interfaces.
279.It ntwoc
280SDL Communications N2pci and WAN/ic 400 synchronous serial interfaces.
281.It pcn
282AMD PCnet-PCI family of
283.Tn Ethernet
284interfaces.
285.It ral
286Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network interfaces.
287.It rtk
288Realtek 8129/8139 based
289.Tn Ethernet
290interfaces.
291.It rtwn
292Realtek RTL8188CE/RTL8192CE 802.11b/g/n wireless network interfaces.
293.It sf
294Adaptec AIC-6915 10/100
295.Tn Ethernet
296interfaces.
297.It sip
298Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor
299DP83815 based
300.Tn Ethernet
301interfaces.
302.It sk
303SysKonnect SK-98xx based Gigabit
304.Tn Ethernet
305interfaces.
306.It ste
307Sundance ST-201 10/100 based
308.Tn Ethernet
309interfaces.
310.It stge
311Sundance/Tamarack TC9021 based Gigabit
312.Tn Ethernet
313interfaces.
314.It ti
315Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver.
316.It tl
317Texas Instruments ThunderLAN-based
318.Tn Ethernet
319interfaces.
320.It tlp
321DECchip 21x4x and clone
322.Tn Ethernet
323interfaces.
324.It vge
325VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver.
326.It vr
327VIA VT3043 (Rhine) and VT86C100A (Rhine-II)
328.Tn Ethernet
329interfaces.
330.It wi
331WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces.
332.It wm
333Intel i8254x Gigabit
334.Tn Ethernet
335driver.
336.El
337.Ss Serial interfaces
338.Bl -tag -width pcdisplay -offset indent
339.It cy
340Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces.
341.It cz
342Cyclades-Z series multi-port serial interfaces.
343.El
344.Ss Audio devices
345.Bl -tag -width pcdisplay -offset indent
346.It auacer
347Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device.
348.It auich
349Intel I/O Controller Hub integrated AC'97 audio device.
350.It auvia
351VIA VT82C686A integrated AC'97 audio device.
352.It autri
353Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device.
354.It clcs
355Cirrus Logic CS4280 audio device.
356.It clct
357Cirrus Logic CS4281 audio device.
358.It cmpci
359C-Media CMI8x38 audio device.
360.It eap
361Ensoniq AudioPCI audio device.
362.It emuxki
363Creative Labs SBLive! and PCI 512 audio device.
364.It esa
365ESS Technology Allegro-1 / Maestro-3 audio device.
366.It esm
367ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device.
368.It eso
369ESS Solo-1 PCI AudioDrive audio device.
370.It fms
371Forte Media FM801 audio device.
372.It hdaudio
373High Definition Audio Specification 1.0 device.
374.It neo
375NeoMagic MagicMedia 256 audio device.
376.It sv
377S3 SonicVibes audio device.
378.It yds
379Yamaha YMF724/740/744/754-based audio device.
380.El
381.Ss Bridges
382.Bl -tag -width pcdisplay -offset indent
383.It cbb
384.Tn PCI
385Yenta compatible
386.Tn CardBus
387bridges.
388.It ppb
389Generic
390.Tn PCI Ns \- Ns Tn PCI
391bridges, including
392.Tn PCI
393expansion backplanes.
394.El
395.Ss Miscellaneous devices
396.Bl -tag -width pcdisplay -offset indent
397.It bktr
398Brooktree 848 compatible TV cards.
399.It ehci
400USB EHCI host controllers.
401.It iop
402I2O I/O processors.
403.It mr
404Guillemot Maxi Radio FM 2000 FM radio device.
405.It nvme
406Non-Volatile Memory Host controllers.
407.It oboe
408Toshiba OBOE IrDA SIR/FIR controller.
409.It ohci
410USB OHCI host controllers.
411.It pcic
412.Tn PCI
413.Tn PCMCIA
414controllers, including the Cirrus Logic GD6729.
415.It puc
416PCI
417.Dq universal
418communications cards, containing
419.Xr com 4
420and
421.Xr lpt 4
422communications ports.
423.It uhci
424USB UHCI host controllers.
425.It viapm
426VIA VT82C686A hardware monitors.
427.It vga
428VGA graphics boards.
429.El
430.Sh SEE ALSO
431.Xr aac 4 ,
432.Xr adv 4 ,
433.Xr adw 4 ,
434.Xr agp 4 ,
435.Xr ahc 4 ,
436.Xr ahcisata 4 ,
437.Xr amr 4 ,
438.Xr an 4 ,
439.Xr auich 4 ,
440.Xr autri 4 ,
441.Xr auvia 4 ,
442.Xr bha 4 ,
443.Xr bktr 4 ,
444.Xr bnx 4 ,
445.Xr cac 4 ,
446.Xr cbb 4 ,
447.Xr clcs 4 ,
448.Xr cmpci 4 ,
449.Xr cy 4 ,
450.Xr cz 4 ,
451.Xr de 4 ,
452.Xr dpt 4 ,
453.Xr eap 4 ,
454.Xr ehci 4 ,
455.Xr emuxki 4 ,
456.Xr ep 4 ,
457.Xr epic 4 ,
458.Xr esa 4 ,
459.Xr esh 4 ,
460.Xr esm 4 ,
461.Xr eso 4 ,
462.Xr ex 4 ,
463.Xr fms 4 ,
464.Xr fpa 4 ,
465.Xr fxp 4 ,
466.Xr gsip 4 ,
467.Xr hme 4 ,
468.Xr icp 4 ,
469.Xr iha 4 ,
470.Xr intro 4 ,
471.Xr iop 4 ,
472.Xr isp 4 ,
473.Xr le 4 ,
474.Xr mfi 4 ,
475.Xr mlx 4 ,
476.Xr mly 4 ,
477.Xr mpt 4 ,
478.Xr msk 4 ,
479.Xr nca 4 ,
480.Xr ne 4 ,
481.Xr neo 4 ,
482.Xr nfe 4 ,
483.Xr ntwoc 4 ,
484.Xr nvme 4 ,
485.Xr oboe 4 ,
486.Xr ohci 4 ,
487.Xr pcic 4 ,
488.Xr pciide 4 ,
489.Xr pcn 4 ,
490.Xr pcscp 4 ,
491.Xr ppb 4 ,
492.Xr puc 4 ,
493.Xr ral 4 ,
494.Xr rtk 4 ,
495.Xr rtwn 4 ,
496.Xr sf 4 ,
497.Xr siisata 4 ,
498.Xr siop 4 ,
499.Xr sip 4 ,
500.Xr sk 4 ,
501.Xr ste 4 ,
502.Xr stge 4 ,
503.Xr sv 4 ,
504.Xr ti 4 ,
505.Xr tl 4 ,
506.Xr tlp 4 ,
507.Xr trm 4 ,
508.Xr twe 4 ,
509.Xr uhci 4 ,
510.Xr vax/en 4 ,
511.Xr vga 4 ,
512.Xr vge 4 ,
513.\" .Xr viapm 4 ,
514.Xr vr 4 ,
515.Xr wi 4 ,
516.Xr wm 4 ,
517.Xr wscons 4 ,
518.Xr yds 4
519.Sh HISTORY
520The machine-independent
521.Tn PCI
522subsystem appeared in
523.Nx 1.2 .
524