|PCMCIA(4)||Device Drivers Manual||PCMCIA(4)|
— introduction to PCMCIA (PC Card)
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?
tcic0 at isa? port 0x240 iomem 0xd0000 iosiz 0x10000
pcmcia* at tcic?
pcic0 at cbus? port 0x3e0 iomem 0xd0000 iosiz 0x10000
pcmcia* at pcic?
stp* at sbus?
pcmcia* at stp?
# all architectures
cbb* at pci?
cardslot* at cbb? flags 0x0000
pcmcia* at cardslot?
pcmcia subsystem provides
machine-independent bus support and drivers for PCMCIA (PC Card)
OpenBSD provides support for the following devices. Note that not all architectures support all devices.
The supported PCMCIA controllers are those that are i82365 compatible.
pcmcia adapters, for instance 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.
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
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.
pcmcia driver appeared in
|December 13, 2019||OpenBSD-7.0|