cardbus.4 revision 1.29
$NetBSD: cardbus.4,v 1.29 2007/01/12 20:34:09 gdt Exp $

Copyright (c) 1999-2006 The NetBSD Foundation, Inc.
All rights reserved.

This code is derived from software contributed to The NetBSD Foundation
by Lennart Augustsson.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by the NetBSD
Foundation, Inc. and its contributors.
4. Neither the name of The NetBSD Foundation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

.Dd January 6, 2007 .Dt CARDBUS 4 .Os .Sh NAME .Nm cardbus , .Nm cardslot , .Nm cbb .Nd CardBus driver .Sh SYNOPSIS .Cd "cbb* at pci? dev? function ?" .Cd "cardslot* at cbb?" .Cd "cardbus* at cardslot?" .Cd "pcmcia* at cardslot?" .Cd "XX* at cardbus? function ?" .Sh DESCRIPTION .Nx provides machine-independent bus support and drivers for CardBus devices.

p The .Cm cbb device represents the CardBus controller. Each controller has a number of slots, represented by the .Cm cardslot devices. A slot can have either a CardBus card or a .Tn PCMCIA card, which are attached with the .Cm cardbus or .Cm pcmcia devices, respectively. .Sh SUPPORTED DEVICES .Nx includes the following machine-independent CardBus drivers, sorted by function and driver name: .Ss Network interfaces l -tag -width speaker -offset indent -compact t ath Atheros 5210/5211/5212 802.11 t atw ADMtek ADM8211 (802.11) t ex 3Com 3c575TX and 3c575BTX t fxp Intel i8255x t ral Ralink Technology RT25x0 (802.11) t rtk Realtek 8129/8139 t rtw Realtek 8180L (802.11) t tlp DECchip 21143 .El .Ss Serial interfaces l -tag -width speaker -offset indent -compact t com Modems and serial cards .El .Ss SCSI controllers l -tag -width speaker -offset indent -compact t adv AdvanSys 1200[A,B], 9xx[U,UA] t ahc Adaptec ADP-1480 t njs Workbit NinjaSCSI-32 .El .Ss USB controllers l -tag -width speaker -offset indent -compact t ehci Enhanced Host Controller (2.0) t ohci Open Host Controller t uhci Universal Host Controller .El .Ss IEEE1394 controllers l -tag -width speaker -offset indent -compact t fwohci OHCI controller .El .Sh DIAGNOSTICS .Nm cbb devices may not be properly handled by the system BIOS on i386-family systems. If, on an i386-family system, the .Nm cbb driver reports .Dl cbb0: NOT USED because of unconfigured interrupt then enabling l -item -offset indent -compact t .Cd options PCI_ADDR_FIXUP t .Cd options PCI_BUS_FIXUP t .Cd options PCI_INTR_FIXUP .El or (if ACPI is in use) l -item -offset indent -compact t .Cd ACPI_PCI_FIXUP .El in the kernel configuration might be of use. .Sh SEE ALSO .Xr adv 4 , .Xr ahc 4 , .Xr ath 4 , .Xr atw 4 , .Xr com 4 , .Xr ehci 4 , .Xr ex 4 , .Xr fxp 4 , .Xr njs 4 , .Xr ohci 4 , .Xr options 4 , .Xr pci 4 , .Xr pcmcia 4 , .Xr ral 4 , .Xr rtk 4 , .Xr rtw 4 , .Xr tlp 4 , .Xr uhci 4 .Sh HISTORY The .Nm driver appeared in .Nx 1.5 . .Sh BUGS .Ss Memory space conflicts .Nx maps memory on Cardbus and PCMCIA cards in order to access the cards (including reading CIS tuples on PCMCIA cards) and access the devices using the .Tn RBUS abstraction. When the mapping does not work, PCMCIA cards are typically ignored on insert, and Cardbus cards are recognized but nonfunctional. On i386, the kernel has a heuristic to choose a memory address for mapping, defaulting to 1 GB, but choosing 0.5 GB on machines with less than 192 MB RAM and 2 GB on machines with more than 1 GB of RAM. The intent is to use an address that is larger than available RAM, but low enough to work; some systems seem to have trouble with addresses requiring more than 20 address lines. On i386, the following kernel configuration line disables the heuristics and forces Cardbus memory space to be mapped at 512M; this value makes Cardbus support (including PCMCIA attachment under a cbb) work on some notebook models, including the IBM Thinkpad 600E (2645-4AU) and the Compaq ARMADA M700:

p .Cd options RBUS_MIN_START="0x20000000"