PCMCIA/CardBus (PC Card) server
|You must be root to start this driver.|
devp-pccard [Card Services options] [ss Socket Services options]...
Card Services Options:
- The ioport address to be assigned to a PCMCIA card. Use a colon (:) to separate functions on multi-function cards. E.g. -a 0x300:0x320,0x340 will assign ioport 0x300 to function 1 in socket 0 and ioport 0x320 to function 2 in socket 0; ioport 0x340 will be assigned to function 1 in socket 1.
- -i irq
- The IRQ to be used for status interrupts. The default is no interrupts -- the adapter is polled every second for status changes (recommended).
- ("el") Override PCMCIA IRQ for socket(s). E.g. -l5 will assign IRQ 5 to the card in socket 0; -l5,7 will assign IRQ5 to the card in socket 0 and IRQ 7 to the card in socket 1.
- Memory window address for reading CIS. (Default is 0xd4000)
- Verbose output for debugging purposes.
- Force the width for a PCMCIA socket (8 or 16 bits). E.g. -w8 will force an 8-bit width for socket 0; -w16,8 will force a 16-bit width for socket 0 and an 8-bit width for socket 1. This is needed by some Ethernet adapters that report themselves as 16-bit, but work only in 8-bit mode.
- -x index
- Select the PCMCIA configuration index to use. Some PCMCIA cards have multiple configuration indexes. This option can be used to select one of them.
Socket Services Options:
- -D Device ID
- Specify the PCI device ID to which devp-pccard must attach. This option must be used in conjunction with the -V option.
- -I index
- Specify the PCI index to which devp-pccard must attach.
- Map ISA interrupts to PCI bus.
- Set hardware interrupt routing on PCI bus. Note: This may not work with some BIOSes.
- Set the IRQ mode (0 - 3) as follows:
Mode Sets 0 Parallel PCI interrupts only 1 Parallel IRQ and parallel PCI interrupts 2 IRQ serialized interrupts and parallel PCI interrupts 3 IRQ and PCI serialized interrupts
- Value to set in multi-function routing register (chip specific).
- -V Vendor ID
- Specify the PCI vendor ID to which devp-pccard must attach. This option must be used in conjunction with the -D option.
- Verbosity for socket services.
The devp-pccard server provides support under QNX Neutrino for PCMCIA and CardBus host adapter chips. The host adapters chips currently supported are (PCMCIA) Intel 82365, Cirrus CL-PD67xx, Vadem VG-46x, (CardBus) TI-11xx, TI-12xx, and TI-14xx, Ricoh R5C47x, O2 Micro OZ68xx, and Toshiba Topic97. Other CardBus adapters work only in legacy (PCMCIA) mode.
The server manages host resources (memory windows, I/O ports and IRQs) and assigns resources to PCMCIA cards as they're inserted. CardBus resources are managed by the pci-bios server, which interfaces to the pccard server. The devp-pccard server also supports dual-function PC Cards and assigns separate resources to each function. The only common resource assigned to dual-function PC Cards is the IRQ.
Utilities are provided to start and stop processes (as cards are inserted and removed), display server status and display card CIS (Card Information Structure) data.
The executables involved in PC Card support are:
- The server for PCMCIA and CardBus adapters.
- A manager that starts and stops processes as cards are inserted and removed.
- A utility that displays PC Card information (CIS, status, and so on).
The server manages separate resource pools for memory windows, IRQs and ports. When a card is installed, the server attempts to satisfy the card's memory window, IRQ and port requirements by allocating resources from the various pools. PCMCIA resources must be in the ISA range of devices, while CardBus resources must be in the PCI range. PC Card resource pools are created as described below.
CardBus resources are assigned by the pci-bios server, as all CardBus devices are considered to be PCI devices. Some manufacturers' PCI BIOSes allow separate IRQs to be assigned to each socket on a CardBus adapter, while others allow only a single IRQ for both sockets. When a CardBus PC Card is inserted in a socket, devp-pccard requests the pci-bios server to rescan its bus and allocate resources to the card.
Start devp-pccard and force the ioports to be used in each socket:
devp-pccard -a 0x300,0x340
Map IRQ interrupts to PCI and use IRQ 10:
devp-pccard -l10 ss -m
Connecting Hardware in the Neutrino User's Guide