CARDBUS(4)              NetBSD Kernel Interfaces Manual             CARDBUS(4)

NAME
     cardbus, cardslot, cbb -- CardBus driver

SYNOPSIS
     cbb*      at pci? dev? function ?
     cardslot* at cbb?
     cardbus*  at cardslot?
     pcmcia*   at cardslot?
     XX*       at cardbus? function ?

DESCRIPTION
     NetBSD provides machine-independent bus support and drivers for CardBus
     devices.

     The cbb device represents the CardBus controller.  Each controller has a
     number of slots, represented by the cardslot devices. A slot can have
     either a CardBus card or a PCMCIA card, which are attached with the
     cardbus or pcmcia devices, respectively.

SUPPORTED DEVICES
     NetBSD includes the following machine-independent CardBus drivers, sorted
     by function and driver name:

   Network interfaces
           ath      Atheros 5210/5211/5212 802.11
           atw      ADMtek ADM8211 (802.11)
           ex       3Com 3c575TX and 3c575BTX
           fxp      Intel i8255x
           ral      Ralink Technology RT25x0 (802.11)
           rtk      Realtek 8129/8139
           rtw      Realtek 8180L (802.11)
           tlp      DECchip 21143

   Serial interfaces
           com      Modems and serial cards

   SCSI controllers
           adv      AdvanSys 1200[A,B], 9xx[U,UA]
           ahc      Adaptec ADP-1480
           njs      Workbit NinjaSCSI-32

   USB controllers
           ehci     Enhanced Host Controller (2.0)
           ohci     Open Host Controller
           uhci     Universal Host Controller

   IEEE1394 controllers
           fwohci   OHCI controller

DIAGNOSTICS
     cbb devices may not be properly handled by the system BIOS on i386-family
     systems.  If, on an i386-family system, the cbb driver reports
           cbb0: NOT USED because of unconfigured interrupt
     then enabling
           options PCI_ADDR_FIXUP
           options PCI_BUS_FIXUP
           options PCI_INTR_FIXUP
     or (if ACPI is in use)
           options PCI_INTR_FIXUP_DISABLED
     in the kernel configuration might be of use.

SEE ALSO
     adv(4), ahc(4), ath(4), atw(4), com(4), ehci(4), ex(4), fxp(4), njs(4),
     ohci(4), options(4), pci(4), pcmcia(4), ral(4), rtk(4), rtw(4), tlp(4),
     uhci(4)

HISTORY
     The cardbus driver appeared in NetBSD 1.5.

BUGS
   Memory space conflicts
     NetBSD 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 RBUS abstraction.  When the mapping does not work, PCM-
     CIA cards are typically ignored on insert, and Cardbus cards are recog-
     nized 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 mem-
     ory space to be mapped at 512M; this value makes Cardbus support (includ-
     ing PCMCIA attachment under a cbb) work on some notebook models, includ-
     ing the IBM Thinkpad 600E (2645-4AU) and the Compaq ARMADA M700:

     options RBUS_MIN_START="0x20000000"

NetBSD 5.0_STABLE               January 6, 2007              NetBSD 5.0_STABLE
