NAME
pcmcia
, pcic
— introduction to PCMCIA (PC
Card) support
SYNOPSIS
# i386
pcic0 at isa? port 0x3e0 iomem 0xd0000 iosiz 0x10000
pcic1 at isa? port 0x3e2 iomem 0xe0000 iosiz 0x4000
pcic2 at isa? port 0x3e4 iomem 0xe0000 iosiz 0x4000
pcic* at isapnp?
pcic* at pci? dev?
pcmcia* at pcic?
# i386
tcic0 at isa? port 0x240 iomem 0xd0000 iosiz 0x10000
pcmcia* at tcic?
# luna88k
pcic* at cbus?
pcmcia* at pcic?
# sparc
tslot* at sbus?
pcmcia* at tslot?
# sparc/sparc64
stp* at sbus?
pcmcia* at stp?
# zaurus
pxapcic0 at pxaip?
pcmcia* at pxapcic?
# all architectures
cbb* at pci?
cardslot* at cbb? flags 0x0000
pcmcia* at cardslot?
DESCRIPTION
The pcmcia
subsystem provides
machine-independent bus support and drivers for PCMCIA (PC Card)
devices.
OpenBSD provides support for the following devices. Note that not all architectures support all devices.
Miscellaneous
- gpr(4)
- GemPlus GPR400 smartcard reader
Serial interfaces and modems
- com(4)
- serial communications interface
Wired network interfaces
Wireless network interfaces
SCSI controllers
- aic(4)
- Adaptec AIC-6260 and AIC-6360 SCSI interface
IDE controllers
- wdc(4)
- WD100x compatible hard disk controller driver
The supported PCMCIA controllers are those that are i82365 compatible.
NOTES
On some pcmcia
adapters, for instance the
sbus(4)-based
stp(4), the pcmcia
bus will be mapped in
big-endian format instead of the natural (and preferred) little endian
format. Unfortunately such controllers lack the hardware facility to swap
bytes, and it is not efficient to convert all drivers to always know about
this. While 8 bit drivers can invisibly work on such a bus, 16 bit drivers
will need modification to handle this. So far,
wi(4)
is the only driver to require these modifications.
If the pcmcia
adapter is not
detected, or if pcmcia
events (such as card
insertion) do not occur, there may be a PCI card BIOS mapped in the same
memory space the pcmcia
driver is configured to use
(this is often the case with Ethernet card boot ROMs). The output from
dmesg(8) should contain a line beginning with “bios0”
that lists the memory address and size of mapped regions. If there is a
conflict, you can use
boot_config(8) to change the iomem parameter of the
pcic device to a non-overlapping address, such as 0xd8000
for pcic0. Some
experimentation may be required to find a working value; in some cases the
size parameter of the pcic device may need to be decreased
to avoid a conflict.
SEE ALSO
HISTORY
The pcmcia
driver appeared in
OpenBSD 2.3.