PCMCIA(4) | Device Drivers Manual | PCMCIA(4)

# 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`
`pcic0 at cbus? port 0x3e0 iomem 0xd0000 iosiz 0x10000`
`pcmcia* at pcic?`

`# sparc64`
`stp* at sbus?`
`pcmcia* at stp?`

`# 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.

## Serial interfaces and modems

com(4)
  serial communications interface

## Wired network interfaces

ep(4)
  3Com EtherLink III and Fast EtherLink III 10/100 Ethernet device
ne(4)
  NE2000 and compatible 10/100 Ethernet device
sm(4)
  SMC91C9x and SMC91C1xx-based 10/100 Ethernet device
xe(4)
  Xircom-based 16-bit PCMCIA 10/100 Ethernet device

## Wireless network interfaces

an(4)
  Aironet Communications 4500/4800 IEEE 802.11FH/b wireless network device
malo(4)
  Marvell Libertas IEEE 802.11b/g wireless network device
wi(4)
  WaveLAN/IEEE, PRISM 2-3, and Spectrum24 IEEE 802.11b wireless network device

## 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

cardbus(4), intro(4), isa(4)

# HISTORY

The `pcmcia` driver appeared in OpenBSD 2.3.

December 13, 2019 | Debian