xref: /openbsd-src/share/man/man4/pci.4 (revision 5054e3e78af0749a9bb00ba9a024b3ee2d90290f)
1.\"	$OpenBSD: pci.4,v 1.288 2009/11/16 17:53:29 sobrado 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 $Mdocdate: November 16 2009 $
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.Cd "pci* at mcpcia?"
48.Pp
49.Cd "# amd64, i386"
50.Cd "pci* at mainbus0"
51.Pp
52.Cd "# armish"
53.Cd "pci* at iopxs0"
54.Pp
55.Cd "# hppa"
56.Cd "pci* at dino?"
57.Cd "pci* at elroy?"
58.Pp
59.Cd "# landisk"
60.Cd "pci* at shpcic?"
61.Pp
62.Cd "# macppc"
63.Cd "pci* at mpcpcibr?"
64.Cd "pci* at ht?"
65.Pp
66.Cd "# sgi"
67.Cd "pci* at macepcibr?"
68.Cd "pci* at xbridge?"
69.Pp
70.Cd "# sparc64"
71.Cd "pci* at psycho?"
72.Cd "pci* at schizo?"
73.Cd "pci* at pyro?"
74.Cd "pci* at vpci?"
75.Pp
76.Cd "# all architectures"
77.Cd "pci* at pchb?"
78.Cd "pci* at ppb?"
79.Sh DESCRIPTION
80The system includes a machine-independent
81.Tn PCI
82bus subsystem and
83several machine-independent
84.Tn PCI
85device drivers.
86.Pp
87Note that interrupt mappings on the i386 may require that you configure
88your BIOS to reserve sufficient interrupts as "PCI/ISAPnP" so that there
89are sufficient interrupts remaining to configure the discovered PCI
90devices.
91For more information, see
92.Xr pcibios 4 .
93.Pp
94.Ox
95provides support for the following devices.
96Note that not all architectures support all devices.
97.Ss SCSI host adapters
98.Bl -tag -width 10n -offset ind -compact
99.It Xr adv 4 , Xr adw 4
100AdvanSys PCI SCSI interface
101.It Xr ahc 4
102Adaptec VL/EISA/PCI SCSI interface
103.It Xr ahd 4
104Adaptec PCI/PCI-X AIC79xx-based Ultra320 SCSI interface
105.It Xr bha 4
106Buslogic SCSI interface
107.It Xr iha 4
108Initio INIC-940/950 based PCI SCSI interface
109.It Xr isp 4
110QLogic based SCSI or Fibre Channel SCSI interface
111.It Xr mpi 4
112LSI Logic Fusion-MPT Message Passing Interface
113.It Xr mpii 4
114LSI Logic Fusion-MPT Message Passing Interface II
115.It Xr pcscp 4
116Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interface
117.It Xr siop 4
118LSI/Symbios Logic/NCR 53c8xx SCSI interface
119.It Xr sli 4
120Emulex LightPulse Fibre Channel SCSI interface
121.It Xr trm 4
122TRM-S1040 based PCI SCSI interface
123.El
124.Ss IDE disk controllers
125.Bl -tag -width 10n -offset ind -compact
126.It Xr ahci 4
127Advanced Host Controller Interface for Serial ATA
128.It Xr jmb 4
129JMicron JMB36x SATA II and PATA Host Controller
130.It Xr pciide 4
131PCI IDE controller driver
132.It Xr sili 4
133Silicon Image 3124/3132/3531 SATA controller
134.El
135.Ss RAID and cache controllers
136.Bl -tag -width 10n -offset ind -compact
137.It Xr aac 4
138Adaptec SAS/SATA/SCSI RAID controller
139.It Xr ami 4
140American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID controller
141.It Xr arc 4
142Areca Technology Corporation SAS/SATA RAID controller
143.It Xr cac 4
144Compaq Smart ARRAY 2/3/4 SCSI RAID controller
145.It Xr ciss 4
146Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller
147.It Xr dpt 4
148DPT EATA SCSI RAID controller
149.It Xr gdt 4
150ICP-Vortex and Intel GDT SATA/SCSI RAID controller
151.It Xr iop 4
152.Tn I2O
153.Tn RAID
154controller
155.It Xr ips 4
156IBM SATA/SCSI ServeRAID controller
157.It Xr mfi 4
158LSI Logic & Dell MegaRAID SAS RAID controller
159.It Xr twe 4
1603ware 5000/6000/7000/8000 series PATA/SATA RAID controller
161.El
162.Ss Wired network interfaces
163.Bl -tag -width 10n -offset ind -compact
164.It Xr age 4
165Attansic L1 10/100/Gigabit Ethernet device
166.It Xr alc 4
167Atheros AR8131/AR8132 10/100/Gigabit Ethernet device
168.It Xr ale 4
169Atheros AR8121/AR8113/AR8114 10/100/Gigabit Ethernet device
170.It Xr art 4
171Accoom Networks Artery T1/E1 network device
172.It Xr bce 4
173Broadcom BCM4401 10/100 Ethernet device
174.It Xr bge 4
175Broadcom BCM57xx/BCM590x 10/100/Gigabit Ethernet device
176.It Xr bnx 4
177Broadcom NetXtreme II 10/100/Gigabit Ethernet device
178.It Xr cas 4
179Sun Cassini 10/100/Gigabit Ethernet device
180.It Xr dc 4
181DEC/Intel 21140/21142/21143/21145 and clones 10/100 Ethernet device
182.It Xr de 4
183DEC DC21x4x (Tulip) 10/100 Ethernet device
184.It Xr em 4
185Intel PRO/1000 10/100/Gigabit Ethernet device
186.\" .It Xr en 4
187.\" Midway-based Efficient Networks Inc.\&
188.\" and Adaptec ATM interfaces
189.It Xr ep 4
1903Com EtherLink III and Fast EtherLink III 10/100 Ethernet device
191.It Xr epic 4
192SMC 83C170 (EPIC/100) 10/100 Ethernet device
193.It Xr et 4
194Agere/LSI ET1310 10/100/Gigabit Ethernet device
195.It Xr fpa 4
196.Tn DEC
197DEFPA
198.Tn FDDI
199interfaces
200.It Xr fxp 4
201Intel EtherExpress PRO/100 10/100 Ethernet device
202.It Xr gem 4
203GEM 10/100/Gigabit Ethernet device
204.It Xr hme 4
205Sun Happy Meal 10/100 Ethernet device
206.It Xr ix 4
207Intel 82598 PCI Express 10Gb Ethernet device
208.It Xr ixgb 4
209Intel PRO/10GbE 10Gb Ethernet device
210.It Xr jme 4
211JMicron JMC250/JMC260 10/100/Gigabit Ethernet device
212.It Xr lge 4
213Level 1 LXT1001 NetCellerator PCI Gigabit Ethernet device
214.It Xr lii 4
215Attansic L2 10/100 Ethernet device
216.It Xr lmc 4
217Lan Media Corporation
218.Tn SSI/T1/DS1/HSSI/DS3
219card device
220.It Xr msk 4
221Marvell Yukon-2 10/100/Gigabit Ethernet device
222.It Xr mtd 4
223Myson Technology MTD800/MTD803/MTD891 10/100/Gigabit Ethernet device
224.It Xr ne 4
225NE2000 and compatible 10/100 Ethernet device
226.It Xr nfe 4
227NVIDIA nForce MCP 10/100/Gigabit Ethernet device
228.It Xr nge 4
229National Semiconductor PCI 10/100/Gigabit Ethernet device
230.It Xr pcn 4
231AMD PCnet-PCI 10/100 Ethernet device
232.It Xr re 4
233RealTek 8139C+/8169/816xS/811xS/8168/810xE 10/100/Gigabit Ethernet device
234.It Xr rl 4
235Realtek 8129/8139 10/100 Ethernet device
236.It Xr san 4
237Sangoma Technologies AFT T1/E1 network device
238.It Xr sf 4
239Adaptec AIC-6915 "Starfire" PCI 10/100 Ethernet device
240.It Xr sis 4
241SiS 900, SiS 7016, and NS DP83815/6 10/100 Ethernet device
242.It Xr sk 4
243SysKonnect XMAC II and Marvell Yukon 10/100/Gigabit Ethernet device
244.It Xr ste 4
245Sundance Technologies ST201 10/100 Ethernet device
246.It Xr stge 4
247Sundance/Tamarack TC9021 Gigabit Ethernet device
248.It Xr tht 4
249Tehuti Networks 10Gb Ethernet device
250.It Xr ti 4
251Alteon Networks Tigon I and II Gigabit Ethernet device
252.It Xr tl 4
253Texas Instruments ThunderLAN 10/100 Ethernet device
254.It Xr txp 4
2553Com 3XP Typhoon/Sidewinder (3CR990) 10/100 Ethernet device
256.It Xr vic 4
257VMware VMXnet Virtual Interface Controller device
258.It Xr vge 4
259VIA VT6122 PCI 10/100/Gigabit Ethernet device
260.It Xr vr 4
261VIA VT3043/VT86C100A/VT6105/VT6105M 10/100 Ethernet device
262.It Xr wb 4
263Winbond W89C840F 10/100 Ethernet device
264.It Xr xge 4
265Neterion Xframe/Xframe II 10Gb Ethernet device
266.It Xr xl 4
2673Com EtherLink XL and Fast EtherLink XL 10/100 Ethernet device
268.El
269.Ss Wireless network interfaces
270.Bl -tag -width 10n -offset ind -compact
271.It Xr acx 4
272TI ACX100/ACX111 IEEE 802.11a/b/g wireless network device
273.It Xr an 4
274Aironet Communications 4500/4800 IEEE 802.11FH/b wireless network device
275.It Xr ath 4
276Atheros IEEE 802.11a/b/g wireless network device with GPIO
277.It Xr athn 4
278Atheros IEEE 802.11a/g/n wireless network device
279.It Xr atw 4
280ADMtek ADM8211 IEEE 802.11b wireless network device
281.It Xr bwi 4
282Broadcom AirForce IEEE 802.11b/g wireless network device
283.It Xr ipw 4
284Intel PRO/Wireless 2100 IEEE 802.11b wireless network device
285.It Xr iwi 4
286Intel
287PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11a/b/g wireless network device
288.It Xr iwn 4
289Intel WiFi Link 4965/5000/1000/6000
290IEEE 802.11a/g/n wireless network devices
291.It Xr malo 4
292Marvell Libertas IEEE 802.11b/g wireless network device
293.It Xr pgt 4
294Conexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wireless network device
295.It Xr ral 4
296Ralink Technology IEEE 802.11a/g/n wireless network device
297.It Xr rtw 4
298Realtek RTL8180L IEEE 802.11b wireless network device
299.It Xr wi 4
300WaveLAN/IEEE, PRISM 2-3, and Spectrum24 IEEE 802.11b wireless network
301device
302.It Xr wpi 4
303Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless network device
304.El
305.Ss Cryptography accelerators
306.Bl -tag -width 10n -offset ind -compact
307.It Xr glxsb 4
308Geode LX Security Block crypto accelerator
309.It Xr hifn 4
310Hifn 7751/7811/7951/7955/7956/9751 crypto accelerator
311.It Xr lofn 4
312Hifn 6500 crypto accelerator
313.It Xr noct 4
314NetOctave NSP2000 crypto accelerator
315.It Xr nofn 4
316Hifn 7814/7851/7854 HIPP1 crypto accelerator
317.It Xr safe 4
318SafeNet crypto accelerator
319.It Xr ubsec 4
320Broadcom and BlueSteel uBsec 5x0x crypto accelerator
321.El
322.Ss Serial interfaces
323.Bl -tag -width 10n -offset ind -compact
324.It Xr cy 4
325Cyclades Cyclom-4Y, -8Y, and -16Y asynchronous serial communications devices
326.It Xr cz 4
327Cyclades-Z series multi-port serial adapter device
328.It Xr puc 4
329PCI ``universal'' communications card driver
330.El
331.Ss Display adapters
332.Bl -tag -width 10n -offset ind -compact
333.It Xr sti 4
334HP Standard Text Interface
335.It Xr tga 4
336TGA graphics driver
337.It Xr vga 4
338VGA graphics cards
339.El
340.Ss Audio devices
341.Bl -tag -width 10n -offset ind -compact
342.It Xr auacer 4
343Acer Labs I/O Controller Hub integrated AC'97 audio device
344.It Xr auglx 4
345AMD Geode LX CS5536 integrated AC'97 audio device
346.It Xr auich 4
347Intel ICH integrated AC'97 audio device
348.It Xr auixp 4
349ATI SB200/SB300/SB400/SB600 integrated AC'97 audio device
350.It Xr autri 4
351Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 audio device
352.It Xr auvia 4
353VIA VT82C686A/VT8233/VT8235/VT8237 integrated AC'97 audio device
354.It Xr azalia 4
355generic High Definition Audio device
356.It Xr clcs 4
357Cirrus Logic CS4280/CS4610/CS4615 audio device
358.It Xr clct 4
359Cirrus Logic CS4281 audio device
360.It Xr cmpci 4
361C-Media CMI8338, CMI8738, CMI8768 PCI audio device
362.It Xr eap 4
363Ensoniq AudioPCI audio device
364.It Xr emu 4
365Creative Labs SBLive!, PCI 512, and Audigy audio device
366.It Xr envy 4
367VIA Envy24 audio device
368.It Xr esa 4
369ESS Technology Allegro-1/Maestro-3 family audio device
370.It Xr eso 4
371ESS Technology Solo-1 PCI AudioDrive audio device
372.It Xr fms 4
373Forte Media FM801 audio device
374.It Xr maestro 4
375ESS Maestro 1 and 2 audio device
376.It Xr neo 4
377NeoMagic 256AV/ZX audio device
378.It Xr sv 4
379S3 SonicVibes audio device
380.It Xr yds 4
381Yamaha DS-XG audio device
382.El
383.Ss Time receiver devices
384.Bl -tag -width 10n -offset ind -compact
385.It Xr mbg 4
386Meinberg Funkuhren timedelta sensor
387.El
388.Ss Radio receiver devices
389.Bl -tag -width 10n -offset ind -compact
390.It Xr fms 4
391Forte Media FM801 audio device
392.It Xr gtp 4
393Gemtek PCI FM radio device
394.El
395.Ss Hardware Sensors
396.Bl -tag -width 10n -offset ind -compact
397.It Xr berkwdt 4
398Berkshire Products watchdog timer device
399.It Xr elansc 4
400AMD Elan SC520 System Controller with watchdog timer and GPIO
401.It Xr geodesc 4
402Geode SC1100/SCx200 IAOC watchdog timer device
403.It Xr ichwdt 4
404Intel 6300ESB ICH watchdog timer device
405.It Xr kate 4
406AMD K8 temperature sensor
407.It Xr km 4
408AMD K10 temperature sensor
409.It Xr pwdog 4
410Quancom PWDOG1 watchdog timer device
411.It Xr viaenv 4
412VIA VT82C686A/VT8231 hardware monitor
413.It Xr wdt 4
414ICS PCI-WDT500/501 watchdog timer device
415.El
416.Ss Miscellaneous devices
417.Bl -tag -width "piixpcib(4)" -offset ind -compact
418.It Xr alipm 4
419Acer Labs M7101 SMBus controller
420.It Xr amas 4
421AMD memory address map
422.It Xr amdiic 4
423AMD-8111 SMBus controller
424.It Xr amdpcib 4
425AMD-8111 series LPC bridge and timecounter
426.It Xr amdpm 4
427AMD-756/766/768/8111 Power Management and SMBus controller
428.It Xr bktr 4
429Brooktree Bt848/849/878/879
430.Tn PCI
431TV tuners and video capture boards
432.It Xr cbb 4
433.Tn PCI
434Yenta compatible
435.Tn CardBus
436bridges
437.It Xr ehci 4
438USB Enhanced Host Controller Interface
439.It Xr glxpcib 4
440CS5536 PCI-ISA Bridge with timecounter, watchdog timer, and GPIO
441.It Xr gscpcib 4
442National Semiconductor Geode SC1100 PCI-ISA bridge with GPIO
443.It Xr ichiic 4
444Intel ICH SMBus controller
445.It Xr nviic 4
446NVIDIA nForce2/3/4 SMBus controller
447.It Xr ohci 4
448USB Open Host Controller Interface
449.It Xr pcib 4
450PCI-ISA bridge
451.It Xr pcic 4
452.Tn PCI
453.Tn PCMCIA
454controllers, including the Cirrus Logic GD6729
455.It Xr piixpcib 4
456Intel PIIX4 ISA bridges
457.It Xr piixpm 4
458Intel PIIX SMBus controller
459.It Xr ppb 4
460Generic
461.Tn PCI Ns \- Ns Tn PCI
462bridges, including
463.Tn PCI
464expansion backplanes
465.It Xr sdhc 4
466SD Host Controller
467.It Xr ssio 4
468National Semiconductor PC87560 Legacy IO
469.It Xr uhci 4
470USB Universal Host Controller Interface
471.It Xr viapm 4
472VIA SMBus controller
473.El
474.Sh IOCTLS
475If the kernel is compiled with the
476.Va USER_PCICONF
477kernel option, the following
478.Xr ioctl 2
479calls are supported by the
480.Nm
481driver.
482They are defined in the header file
483.Aq Pa sys/pciio.h .
484.Bl -tag -width 012345678901234
485.Pp
486.It PCIOCREAD
487This
488.Xr ioctl 2
489reads the
490.Tn PCI
491configuration registers specified by the passed-in
492.Va pci_io
493structure.
494The
495.Va pci_io
496structure consists of the following fields:
497.Bl -tag -width pi_width
498.It pi_sel
499A
500.Va pcisel
501structure which specifies the bus, slot and function the user would like to
502query.
503.It pi_reg
504The
505.Tn PCI
506configuration register the user would like to access.
507.It pi_width
508The width, in bytes, of the data the user would like to read.
509This value can be only 4.
510.It pi_data
511The data returned by the kernel.
512.El
513.It PCIOCWRITE
514This
515.Xr ioctl 2
516allows users to write to the
517.Tn PCI
518device specified in the passed-in
519.Va pci_io
520structure.
521The
522.Va pci_io
523structure is described above.
524The limitations on data width described for
525reading registers, above, also apply to writing
526.Tn PCI
527configuration registers.
528.It PCIOCGETROM
529This
530.Xr ioctl 2
531allows users to read the contents of the
532.Tn PCI
533ROM specified in the passed-in
534.Va pci_rom
535structure.
536The
537.Va pci_rom
538structure consists of the following fields:
539.Bl -tag -width pr_romlen
540.It pr_sel
541A
542.Va pcisel
543structure which specifies the bus, slot and function the user would like to
544query.
545.It pr_romlen
546Size of the buffer to store the contents of the ROM.
547Upon return, this field will contain the size of the ROM
548.It pr_rom
549The address of the buffer to store the contents of the ROM.
550.El
551.Pp
552If the ROM is larger than the specified buffer size,
553.Dv ENOMEM
554will be returned.
555.El
556.Sh FILES
557.Bl -tag -width /dev/pci* -compact
558.It Pa /dev/pci*
559Character device for the
560.Nm
561driver.
562.El
563.Sh SEE ALSO
564.Xr intro 4 ,
565.Xr pcidump 8
566.Sh HISTORY
567The machine-independent
568.Tn PCI
569subsystem appeared in
570.Ox 1.2 .
571