xref: /openbsd-src/share/man/man4/pci.4 (revision 8500990981f885cbe5e6a4958549cacc238b5ae6)
1.\"	$OpenBSD: pci.4,v 1.81 2003/11/08 16:55:35 miod Exp $
2.\"	$NetBSD: pci.4,v 1.29 2000/04/01 00:32:23 tsarna Exp $
3.\"
4.\" Copyright (c) 2000 Theo de Raadt.  All rights reserved.
5.\" Copyright (c) 1997 Jason R. Thorpe.  All rights reserved.
6.\" Copyright (c) 1997 Jonathan Stone
7.\" All rights reserved.
8.\"
9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions
11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright
13.\"    notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\"    notice, this list of conditions and the following disclaimer in the
16.\"    documentation and/or other materials provided with the distribution.
17.\" 3. All advertising materials mentioning features or use of this software
18.\"    must display the following acknowledgements:
19.\"      This product includes software developed by Jonathan Stone
20.\" 4. The name of the author may not be used to endorse or promote products
21.\"    derived from this software without specific prior written permission
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
27.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33.\"
34.Dd April 3, 2000
35.Dt PCI 4
36.Os
37.Sh NAME
38.Nm pci
39.Nd introduction to PCI bus support
40.Sh SYNOPSIS
41.Cd "# alpha"
42.Cd "pci* at apecs?"
43.Cd "pci* at cia?"
44.Cd "pci* at irongate?"
45.Cd "pci* at lca?"
46.Cd "pci* at tsp?"
47.Pp
48.Cd "# hppa"
49.Cd "pci* at dino?"
50.Pp
51.Cd "# i386"
52.Cd "pci* at mainbus0 bus ?"
53.Cd "pci* at pchb? bus ?"
54.Pp
55.Cd "# macppc, pegasos"
56.Cd "pci* at mpcpcibr?"
57.Pp
58.Cd "# sparc64"
59.Cd "pci* at psycho?"
60.Cd "pci* at schizo?"
61.Pp
62.Cd "# all architectures"
63.Cd "ppb* at pci? dev ? function ?"
64.Cd "pci* at ppb? bus ?"
65.Sh DESCRIPTION
66The system includes a machine-independent
67.Tn PCI
68bus subsystem and
69several machine-independent
70.Tn PCI
71device drivers.
72.Pp
73Your system may support additional
74.Tn PCI
75devices.
76Drivers for
77.Tn PCI
78devices not listed here are machine-dependent.
79Consult your system's
80.Xr intro 4
81for additional information.
82.Ss Details specific to the i386
83Note that interrupt mappings on the i386 may require that you configure
84your BIOS to reserve sufficient interrupts as "PCI/ISAPnP" so that there
85are sufficient interrupts remaining to configure the discovered PCI
86devices.
87For more information, see
88.Xr pcibios 4 .
89.Sh SUPPORTED DEVICES
90The system includes machine-independent
91.Tn PCI
92drivers, sorted by device type and driver name:
93.Ss SCSI host adapters
94.Bl -tag -width 10n -offset ind -compact
95.It Xr adv 4 , Xr adw 4
96AdvanSys PCI
97.Tn SCSI
98interfaces.
99.It Xr ahc 4
100Adaptec 27xx, 29xx, 39xx, 29160, and other AIC-7xxx-based
101.Tn SCSI
102interfaces.
103.It Xr bha 4
104Buslogic BT-9xx
105.Tn SCSI
106interfaces.
107.It Xr iha 4
108Initio INIC-940 and INIC-950 based
109.Tn SCSI
110interfaces.
111.It Xr isp 4
112QLogic ISP-1020, ISP-1040, and ISP-2100
113.Tn SCSI
114and
115.Tn FibreChannel
116interfaces.
117.It Xr ncr 4 , Xr siop 4
118LSI/Symbios Logic/NCR 53c8xx and 53c1010-family
119.Tn SCSI
120interfaces.
121.It Xr pcscp 4
122AMD Am53c974 PCscsi-PCI
123.Tn SCSI
124interfaces.
125.It Xr trm 4
126Tekram DC-3x5U (TRM-S1040 based)
127.Tn SCSI
128interfaces.
129.El
130.Ss IDE disk controllers
131.Bl -tag -width 10n -offset ind -compact
132.It Xr pciide 4
133PCI IDE controller driver.
134.El
135.Ss RAID and cache controllers
136.Bl -tag -width 10n -offset ind -compact
137.It Xr aac 4
138Adaptec "FSA" family (Adaptec AAC, Dell PERC, HP NetRaid)
139.Tn RAID
140controllers.
141.It Xr ami 4
142American Megatrends Inc.
143MegaRAID family
144.Tn RAID
145controllers.
146.It Xr cac 4
147Compaq Smart ARRAY
148.Tn RAID
149controllers.
150.It Xr dpt 4
151DPT SmartCache/SmartRAID III and IV
152.Tn SCSI
153controllers.
154.It Xr gdt 4
155ICP-Vortex GDT
156.Tn RAID
157controllers.
158.It Xr iop 4
159Generic
160.Tn I2O
161specification
162.Tn RAID
163controllers.
164.It Xr twe 4
1653ware Escalade
166.Tn RAID
167controllers.
168.El
169.Ss Network interfaces
170.Bl -tag -width 10n -offset ind -compact
171.It Xr an 4
172Aironet Communications 4500/4800 IEEE 802.11DS wireless network adapter.
173.It Xr bge 4
174Broadcom BCM570x PCI gigabit ethernet.
175.It Xr dc 4
176Various Tulip-like Ethernet
177interfaces such as the DEC/Intel 21143;
178Macronix 98713, 98713A, 98715, 98715A, 98725, 98727, and 98732;
179Davicom DM9100, DM9102, and DM9102A;
180ASIX Electronics AX88140A and AX88141;
181ADMtek AL981 Comet and AN983 Centaur-P;
182Lite-On 82c168 and 82c169 PNIC;
183and
184Lite-On/Macronix 82c115 PNIC II.
185.It Xr de 4
186.Tn DEC
187DC21x4x (Tulip) based Ethernet
188interfaces, including the DE435, DE450, DE500;
189Znyx ZX3xx;
190SMC 8432, 9332, 9334;
191Cogent/Adaptec EM100FX and EM440TX;
192and Asante single- and multi-port
193Ethernet interfaces.
194Multi-port interfaces are typically configured as
195.Tn PCI Ns \- Ns Tn PCI
196bridges with multiple
197.Xr de 4
198instances on the
199.Tn PCI
200bus on the other side of the bridge.
201.It Xr em 4
202Intel Gigabit Ethernet interfaces. (i82542, i82543, i82544)
203.It Xr en 4
204Midway-based Efficient Networks Inc.
205and Adaptec ATM interfaces.
206.It Xr ep 4
2073Com 3c590 and 3c595 Ethernet interfaces.
208.It Xr fpa 4
209.Tn DEC
210DEFPA
211.Tn FDDI
212interfaces.
213.It Xr fxp 4
214Intel EtherExpress PRO 10+/100B Ethernet interfaces.
215.It Xr gem 4
216Sun GEM and Apple GMAC Gigabit Ethernet interfaces.
217.It Xr le 4
218PCNet-PCI Ethernet interfaces.
219.It Xr lge 4
220Level 1 LXT1001 NetCellerator PCI Gigabit Ethernet.
221.It Xr lmc 4
222Lan Media Corporation
223.Tn SSI/DS1/HSSI/DS3
224interfaces.
225.It Xr mtd 4
226Myson Technologies
227.Tn MTD803
2283-in-1 Fast Ethernet interfaces.
229.It Xr ne 4
230NE2000-compatible Ethernet interfaces.
231.It Xr nge 4
232National Semiconductor DP83820 and DP83821 based Gigabit Ethernet.
233.It Xr rl 4
234Realtek 8129/8139 Ethernet interfaces.
235.It Xr sf 4
236Adaptec AIC-6915 "Starfire" Ethernet interfaces.
237.It Xr sis 4
238SiS 900, SiS 7016, and NS DP83815 Ethernet interfaces.
239.It Xr sk 4
240SysKonnect SK-984x Gigabit Ethernet interfaces.
241.It Xr ste 4
242Sundance Technologies ST201 Ethernet interfaces.
243.It Xr stge 4
244Sundance/Tamarack TC9021 Gigabit Ethernet driver.
245.It Xr ti 4
246Alteon Networks Tigon I and Tigon II Gigabit Ethernet interfaces.
247.It Xr tl 4
248Texas Instruments ThunderLAN-based Ethernet interfaces.
249.It Xr tx 4
250SMC 9432 10/100 Mbps Ethernet interfaces.
251.It Xr txp 4
2523Com 3XP Typhoon/Sidewinder (3C990) 10/100 Mbps Ethernet interfaces.
253.It Xr vr 4
254VIA Technologies VT3043 and VT86C100A Ethernet interfaces.
255.It Xr wb 4
256Winbond W89C840F Ethernet interfaces.
257.It Xr wi 4
258WaveLAN/IEEE and PRISM-II 802.11DS wireless network interfaces behind
259a PLX 905x-based dumb PCMCIA->PCI bridge.
260.It Xr xl 4
2613Com 3c555, 3c556, 3c900, 3c905, 3c980, and 3cSOHO Ethernet interfaces.
262.El
263.Ss Cryptography accelerators
264.Bl -tag -width 10n -offset ind -compact
265.It Xr hifn 4
266Hifn 7751, 7811, and 7951.
267Symmetric Encryption Accelerator.
268.It Xr ises 4
269Pijnenburg PCC-ISES hardware crypto accelerator.
270.It Xr lofn 4
271Hifn 6500 crypto accelerator.
272.It Xr noct 4
273NetOctave NSP2000 crypto accelerator.
274.It Xr nofn 4
275Hifn 7814, 7851 and 7854 crypto processor.
276.It Xr safe 4
277Safenet SafeXcel 1141/1741 crypto accelerator.
278.It Xr ubsec 4
279Broadcom Bluesteelnet uBsec 5501, 5601, 5805, 5820, and 5821.
280.El
281.Ss Serial interfaces
282.Bl -tag -width 10n -offset ind -compact
283.It Xr cy 4
284Cyclades Cyclom-4Y, -8Y, and -16Y asynchronous serial communications devices.
285.It Xr cz 4
286Cyclades-Z series multi-port serial adapter device driver.
287.El
288.Ss Display adapters
289.Bl -tag -width 10n -offset ind -compact
290.It Xr vga 4
291VGA graphics cards.
292.El
293.Ss Audio devices
294.Bl -tag -width 10n -offset ind -compact
295.It Xr auich 4
296Integrated Intel 82801AA/AB/BA/CA and 440MX sound devices.
297.It Xr autri 4
298Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 audio devices.
299.It Xr auvia 4
300Integrated AC97 audio controller of the
301.Tn VIA Technologies VT82C686A
302and
303.Tn VT8233
304Southbridges.
305.It Xr clcs 4
306Cirrus Logic CrystalClear CS4280 sound devices.
307.It Xr clct 4
308Cirrus Logic CrystalClear CS4281 sound devices.
309.It Xr cmpci 4
310C-Media CMI8x38 sound devices.
311.It Xr eap 4
312Ensoniq AudioPCI sound devices.
313.It Xr emu 4
314Creative Labs SBLive! and PCI 512 audio device driver.
315.It Xr esa 4
316ESS Alegro 1 and Maestro 3 sound devices.
317.It Xr eso 4
318ESS Solo-1 PCI AudioDrive sound devices.
319.It Xr fms 4
320Forte Media FM801 sound devices.
321.It Xr maestro 4
322ESS Maestro 1, 2 and 2E sound devices.
323.It Xr neo 4
324NeoMagic 256AV/ZX sound devices.
325.It Xr sv 4
326S3 SonicVibes sound devices.
327.It Xr yds 4
328Yamaha DS-XG sound devices.
329.El
330.Ss Radio receiver devices
331.Bl -tag -width 10n -offset ind -compact
332.It Xr fms 4
333SoundForte RadioLink SF64-PCR, SoundForte Quad X-treme SF256-PCP-R and
334SoundForte Theatre X-treme 5.1 SF256-PCS-R FM radio devices driver.
335.It Xr gtp 4
336Gemtek PCI FM radio device driver.
337.El
338.Ss Miscellaneous devices
339.Bl -tag -width 10n -offset ind -compact
340.It Xr amdpm 4
341AMD768 Power Management controller.
342.It Xr bktr 4
343Brooktree Bt848
344.Tn PCI
345TV tuners and video capture boards.
346.It Xr cbb 4
347.Tn PCI
348Yenta compatible
349.Tn CardBus
350bridges.
351.It Xr ohci 4
352USB OHCI host controller.
353.It Xr pcic 4
354.Tn PCI
355.Tn PCMCIA
356controllers, including the Cirrus Logic GD6729.
357.It Xr ppb 4
358Generic
359.Tn PCI Ns \- Ns Tn PCI
360bridges, including
361.Tn PCI
362expansion backplanes.
363.It Xr puc 4
364PCI
365.Dq universal
366communications cards, containing
367.Xr com 4
368and
369.Xr lpt 4
370communications ports.
371.It Xr uhci 4
372USB UHCI host controller.
373.It Xr wdt 4
374ICS PCI-WDT500/501 watchdog timer devices.
375.El
376.Sh IOCTLS
377If the kernel is compiled with the
378.Va USER_PCICONF
379kernel option, the following
380.Xr ioctl 2
381calls are supported by the
382.Nm
383driver.
384They are defined in the header file
385.Aq Pa sys/pciio.h .
386.Bl -tag -width 012345678901234
387.Pp
388.It PCIOCREAD
389This
390.Xr ioctl 2
391reads the
392.Tn PCI
393configuration registers specified by the passed-in
394.Va pci_io
395structure.
396The
397.Va pci_io
398structure consists of the following fields:
399.Bl -tag -width pi_width
400.It pi_sel
401A
402.Va pcisel
403structure which specifies the bus, slot and function the user would like to
404query.
405.It pi_reg
406The
407.Tn PCI
408configuration register the user would like to access.
409.It pi_width
410The width, in bytes, of the data the user would like to read.
411This value may be either 1, 2, or 4.
4123-byte reads and reads larger than 4 bytes are not supported.
413.It pi_data
414The data returned by the kernel.
415.El
416.It PCIOCWRITE
417This
418.Xr ioctl 2
419allows users to write to the
420.Tn PCI
421specified in the passed-in
422.Va pci_io
423structure.
424The
425.Va pci_io
426structure is described above.
427The limitations on data width described for
428reading registers, above, also apply to writing
429.Tn PCI
430configuration registers.
431.El
432.Sh FILES
433.Bl -tag -width /dev/pci -compact
434.It Pa /dev/pci
435Character device for the
436.Nm
437driver.
438.El
439.Sh SEE ALSO
440.Xr aac 4 ,
441.Xr adv 4 ,
442.Xr adw 4 ,
443.Xr ahc 4 ,
444.Xr ami 4 ,
445.Xr an 4 ,
446.Xr apecs 4 ,
447.Xr auich 4 ,
448.Xr autri 4 ,
449.Xr auvia 4 ,
450.Xr bge 4 ,
451.Xr bha 4 ,
452.Xr bktr 4 ,
453.Xr cac 4 ,
454.Xr cardbus 4 ,
455.Xr cia 4 ,
456.Xr clcs 4 ,
457.Xr clct 4 ,
458.Xr cmpci 4 ,
459.Xr cy 4 ,
460.Xr cz 4 ,
461.Xr dc 4 ,
462.Xr de 4 ,
463.Xr dino 4 ,
464.Xr dpt 4 ,
465.Xr eap 4 ,
466.Xr eisa 4 ,
467.Xr em 4 ,
468.Xr emu 4 ,
469.\" no manpage .Xr en 4 ,
470.Xr ep 4 ,
471.Xr esa 4 ,
472.Xr eso 4 ,
473.Xr fms 4 ,
474.Xr fpa 4 ,
475.Xr fxp 4 ,
476.Xr gdt 4 ,
477.Xr gtp 4 ,
478.Xr hifn 4 ,
479.Xr iha 4 ,
480.Xr intro 4 ,
481.Xr iop 4 ,
482.Xr irongate 4 ,
483.Xr isa 4 ,
484.Xr isapnp 4 ,
485.Xr ises 4 ,
486.Xr isp 4 ,
487.Xr lca 4 ,
488.Xr le 4 ,
489.Xr lge 4 ,
490.Xr lmc 4 ,
491.Xr lofn 4 ,
492.Xr maestro 4 ,
493.\" no manpage .Xr mpcpcibr 4
494.Xr ncr 4 ,
495.Xr ne 4 ,
496.Xr neo 4 ,
497.Xr nge 4 ,
498.Xr noct 4 ,
499.Xr nofn 4 ,
500.Xr ohci 4 ,
501.Xr options 4 ,
502.Xr pchb 4 ,
503.Xr pcic 4 ,
504.Xr pcmcia 4 ,
505.Xr pcscp 4 ,
506.Xr ppb 4 ,
507.Xr psycho 4 ,
508.Xr puc 4 ,
509.Xr rl 4 ,
510.Xr safe 4 ,
511.Xr schizo 4 ,
512.Xr sf 4 ,
513.Xr siop 4 ,
514.Xr sis 4 ,
515.Xr sk 4 ,
516.Xr ste 4 ,
517.Xr stge 4 ,
518.Xr sv 4 ,
519.Xr ti 4 ,
520.Xr tl 4 ,
521.Xr trm 4 ,
522.Xr tsp 4 ,
523.Xr twe 4 ,
524.Xr tx 4 ,
525.Xr txp 4 ,
526.Xr ubsec 4 ,
527.Xr uhci 4 ,
528.Xr usb 4 ,
529.Xr vga 4 ,
530.Xr vr 4 ,
531.Xr wb 4 ,
532.Xr wdt 4 ,
533.Xr wi 4 ,
534.Xr xl 4 ,
535.Xr yds 4
536.Sh HISTORY
537The machine-independent
538.Tn PCI
539subsystem appeared in
540.Ox 2.0 .
541Support for device listing and matching was re-implemented by
542Kenneth Merry, and first appeared in
543.Fx 3.0 .
544