xref: /netbsd-src/share/man/man4/cardbus.4 (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1.\"	$NetBSD: cardbus.4,v 1.38 2014/12/31 18:19:21 wiz Exp $
2.\"
3.\" Copyright (c) 1999-2006 The NetBSD Foundation, Inc.
4.\" All rights reserved.
5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by Lennart Augustsson.
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.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE.
29.\"
30.Dd December 31, 2014
31.Dt CARDBUS 4
32.Os
33.Sh NAME
34.Nm cardbus ,
35.Nm cardslot ,
36.Nm cbb
37.Nd CardBus driver
38.Sh SYNOPSIS
39.Cd "cbb*      at pci? dev? function ?"
40.Cd "cardslot* at cbb?"
41.Cd "cardbus*  at cardslot?"
42.Cd "pcmcia*   at cardslot?"
43.Cd "XX*       at cardbus? function ?"
44.Sh DESCRIPTION
45.Nx
46provides machine-independent bus support and
47drivers for CardBus devices.
48.Pp
49The
50.Cm cbb
51device represents the CardBus controller.
52Each controller has a number
53of slots, represented by the
54.Cm cardslot
55devices.
56A slot can have either a CardBus card or a
57.Tn PCMCIA
58card, which are attached with the
59.Cm cardbus
60or
61.Cm pcmcia
62devices, respectively.
63.Sh SUPPORTED DEVICES
64.Nx
65includes the following machine-independent CardBus
66drivers, sorted by function and driver name:
67.Ss Network interfaces
68.Bl -tag -width speaker -offset indent -compact
69.It ath
70Atheros 5210/5211/5212 802.11
71.It atw
72ADMtek ADM8211 (802.11)
73.It bwi
74Broadcom BCM430x/4318 (802.11)
75.It ex
763Com 3c575TX and 3c575BTX
77.It fxp
78Intel i8255x
79.It ral
80Ralink Technology RT25x0 (802.11)
81.It re
82RealTek 8139C+/8169/8169S/8110S
83.It rtk
84Realtek 8129/8139
85.It rtw
86Realtek 8180L (802.11)
87.It tlp
88DECchip 21143
89.El
90.Ss Serial interfaces
91.Bl -tag -width speaker -offset indent -compact
92.It com
93Modems and serial cards
94.El
95.Ss SCSI controllers
96.Bl -tag -width speaker -offset indent -compact
97.It adv
98AdvanSys 1200[A,B], 9xx[U,UA]
99.It ahc
100Adaptec ADP-1480
101.It njs
102Workbit NinjaSCSI-32
103.El
104.Ss USB controllers
105.Bl -tag -width speaker -offset indent -compact
106.It ehci
107Enhanced Host Controller (2.0)
108.It ohci
109Open Host Controller
110.It uhci
111Universal Host Controller
112.El
113.Ss IEEE1394 controllers
114.Bl -tag -width speaker -offset indent -compact
115.It fwohci
116OHCI controller
117.El
118.Ss SD/MMC/SDIO controllers
119.Bl -tag -width speaker -offset indent -compact
120.It sdhc
121SD Host Controller
122.El
123.Ss Disk and tape controllers
124.Bl -tag -width speaker -offset indent -compact
125.It njata
126Workbit NinjaATA-32
127.It siisata
128Silicon Image SATA-II controllers
129.El
130.Sh DIAGNOSTICS
131.Nm cbb
132devices may not be properly handled by the system BIOS on i386-family
133systems.
134If, on an i386-family system, the
135.Nm cbb
136driver reports
137.Dl cbb0: NOT USED because of unconfigured interrupt
138then enabling
139.Bl -item -offset indent -compact
140.It
141.Cd options PCI_ADDR_FIXUP
142.It
143.Cd options PCI_BUS_FIXUP
144.It
145.Cd options PCI_INTR_FIXUP
146.El
147or (if ACPI is in use)
148.Bl -item -offset indent -compact
149.It
150.Cd options PCI_INTR_FIXUP_DISABLED
151.El
152in the kernel configuration might be of use.
153.Sh SEE ALSO
154.Xr adv 4 ,
155.Xr ahc 4 ,
156.Xr ath 4 ,
157.Xr atw 4 ,
158.Xr bwi 4 ,
159.Xr com 4 ,
160.Xr ehci 4 ,
161.Xr ex 4 ,
162.Xr fwohci 4 ,
163.Xr fxp 4 ,
164.Xr njata 4 ,
165.Xr njs 4 ,
166.Xr ohci 4 ,
167.Xr options 4 ,
168.Xr pci 4 ,
169.Xr pcmcia 4 ,
170.Xr ral 4 ,
171.Xr re 4 ,
172.Xr rtk 4 ,
173.Xr rtw 4 ,
174.Xr sdhc 4 ,
175.Xr siisata 4 ,
176.Xr tlp 4 ,
177.Xr uhci 4
178.Sh HISTORY
179The
180.Nm
181driver appeared in
182.Nx 1.5 .
183.Sh BUGS
184.Ss Memory space conflicts
185.Nx
186maps memory on Cardbus (and therefore PCMCIA cards behind Cardbus) in
187order to access the cards (including reading CIS tuples on PCMCIA
188cards) and access the devices using the
189.Tn RBUS
190abstraction.
191When the mapping does not work, PCMCIA cards are typically ignored on
192insert, and Cardbus cards are recognized but nonfunctional.
193On i386, the kernel has a heuristic to choose a memory address for
194mapping, defaulting to 1 GB, but choosing 0.5 GB on machines with less
195than 192 MB RAM and 2 GB on machines with more than 1 GB of RAM.
196The intent is to use an address that is larger than available RAM, but
197low enough to work; some systems seem to have trouble with
198addresses requiring more than 20 address lines.
199On i386, the following kernel configuration line disables the
200heuristics and forces Cardbus
201memory space to be mapped at 512M; this value makes Cardbus support
202(including PCMCIA attachment under a cbb) work on some notebook
203models, including the IBM Thinkpad 600E (2645-4AU) and the Compaq
204ARMADA M700:
205.Pp
206.Cd options RBUS_MIN_START="0x20000000"
207.Ss PCMCIA addressing choice
208By default, on i386 and amd64, the kernel uses
209.Dv RBUS_IO_BASE
210as 0x4000 and
211.Dv RBUS_IO_SIZE
212as 0x2000.
213On some machines, this fails, due to a requirement that these
214addresses fit within 12 bits.
215The following kernel options have been reported as helpful:
216.Pp
217.Cd options RBUS_IO_BASE="0xa00"
218.Pp
219.Cd options RBUS_IO_SIZE="0x00ff"
220