xref: /netbsd-src/share/man/man4/cardbus.4 (revision ed05de92ad2e9ddcb1af88d8a1926b29b97ce188)
1.\"	$NetBSD: cardbus.4,v 1.40 2021/03/11 16:43:01 nia 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 siisata(4) -offset indent -compact
69.It Xr ath 4
70Atheros 5210/5211/5212 802.11
71.It Xr atw 4
72ADMtek ADM8211 (802.11)
73.It Xr bwi 4
74Broadcom BCM430x/4318 (802.11)
75.It Xr ex 4
763Com 3c575TX and 3c575BTX
77.It Xr fxp 4
78Intel i8255x
79.It Xr ral 4
80Ralink Technology RT25x0 (802.11)
81.It Xr re 4
82RealTek 8139C+/8169/8169S/8110S
83.It Xr rtk 4
84Realtek 8129/8139
85.It Xr rtw 4
86Realtek 8180L (802.11)
87.It Xr tlp 4
88DECchip 21143
89.El
90.Ss Serial interfaces
91.Bl -tag -width siisata(4) -offset indent -compact
92.It Xr com 4
93Modems and serial cards
94.El
95.Ss SCSI controllers
96.Bl -tag -width siisata(4) -offset indent -compact
97.It Xr adv 4
98AdvanSys 1200[A,B], 9xx[U,UA]
99.It Xr ahc 4
100Adaptec ADP-1480
101.It Xr njs 4
102Workbit NinjaSCSI-32
103.El
104.Ss USB controllers
105.Bl -tag -width siisata(4) -offset indent -compact
106.It Xr ehci 4
107Enhanced Host Controller (2.0)
108.It Xr ohci 4
109Open Host Controller
110.It Xr uhci 4
111Universal Host Controller
112.El
113.Ss IEEE1394 controllers
114.Bl -tag -width siisata(4) -offset indent -compact
115.It Xr fwohci 4
116OHCI controller
117.El
118.Ss SD/MMC/SDIO controllers
119.Bl -tag -width siisata(4) -offset indent -compact
120.It Xr sdhc 4
121SD Host Controller
122.El
123.Ss Disk and tape controllers
124.Bl -tag -width siisata(4) -offset indent -compact
125.It Xr njata 4
126Workbit NinjaATA-32
127.It Xr siisata 4
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 options 4 ,
155.Xr pci 4 ,
156.Xr pcmcia 4 ,
157.Xr cardbus 9
158.Sh HISTORY
159The
160.Nm
161driver appeared in
162.Nx 1.5 .
163.Sh BUGS
164.Ss Memory space conflicts
165.Nx
166maps memory on Cardbus (and therefore PCMCIA cards behind Cardbus) in
167order to access the cards (including reading CIS tuples on PCMCIA
168cards) and access the devices using the
169.Tn RBUS
170abstraction.
171When the mapping does not work, PCMCIA cards are typically ignored on
172insert, and Cardbus cards are recognized but nonfunctional.
173On i386, the kernel has a heuristic to choose a memory address for
174mapping, defaulting to 1 GB, but choosing 0.5 GB on machines with less
175than 192 MB RAM and 2 GB on machines with more than 1 GB of RAM.
176The intent is to use an address that is larger than available RAM, but
177low enough to work; some systems seem to have trouble with
178addresses requiring more than 20 address lines.
179On i386, the following kernel configuration line disables the
180heuristics and forces Cardbus
181memory space to be mapped at 512M; this value makes Cardbus support
182(including PCMCIA attachment under a cbb) work on some notebook
183models, including the IBM Thinkpad 600E (2645-4AU) and the Compaq
184ARMADA M700:
185.Pp
186.Cd options RBUS_MIN_START="0x20000000"
187.Ss PCMCIA addressing choice
188By default, on i386 and amd64, the kernel uses
189.Dv RBUS_IO_BASE
190as 0x4000 and
191.Dv RBUS_IO_SIZE
192as 0x2000.
193On some machines, this fails, due to a requirement that these
194addresses fit within 12 bits.
195The following kernel options have been reported as helpful:
196.Pp
197.Cd options RBUS_IO_BASE="0xa00"
198.Pp
199.Cd options RBUS_IO_SIZE="0x00ff"
200